2016-05-25 8 views
0

最近EmberJSと出会った。いくつかの質問がありますが、ドキュメントで回答が見つかりません。Emberjsでapiリクエストを整理する方法は?

  1. ページが読み込まれると、承認されたユーザーは/ api/profileのサーバーからデータを取得します。しかし、私がember apiメソッドでそれをやろうとすると、私はapi/profilesのリクエストを受け取ります。どのように正しいクエリを作成するには?私はユーザーの構造を取得し、それを 'プロファイル'モデルに保存し、ルートとコンポーネントで使用する必要があります。

  2. 最初の質問で扱ったとします。次に、テンプレートに問題があります。ルートアプリケーションテンプレートがあります。権限のあるユーザーの名前を示す「nav-bar」コンポーネントがあります。では、このコンポーネントにユーザーデータのモデルを配置する方法は?このテンプレートはルートにありません。ここには{{nav-bar}}テンプレートがありますので、ユーザースキームを渡す必要があります。

    <div id = "wrapper"> {{nav-bar}} {{outlet}} </div> 
    

私はたぶん私は残り火のアーキテクチャで何かを得ることはありません、私を助けてくださいと思います!

ありがとうございます!

答えて

0

最初の質問です。私はあなたのプロフィールを取得するには、このような何かをしようとしたとします

this.get('store').findAll('profile') 

デフォルトでは、エンバーはJSON API仕様以下にHTTPリクエストをフォーマットします(http://jsonapi.org/を参照してください)。 JSON APIは、リソースをGET api/profilesにアクセスできるように定義しています。

Emberでは、APIとの対話を扱うアダプタという、アダプタをカスタマイズすることができます。このガイドは、APIに合わせてアダプタをカスタマイズするのに役立ちます。nav-barコンポーネントに関して、https://guides.emberjs.com/v2.4.0/models/customizing-adapters/

については、このガイドを参考にしてください。あなたは、コンポーネントにこの方法を変数を渡すことができます。myUserはコンポーネントとuserコンポーネントコンテキスト内の変数の名前を呼ぶあなたのコントローラ内の変数である

{{nav-bar user=myUser}} 

ember-simple-auth(https://github.com/simplabs/ember-simple-auth)という素晴らしいライブラリがあり、ユーザー認証にも役立ちます。私はそれにジャンプする前にそれを見てお勧めします。

+0

こんにちは、あなたの答えに感謝します。 {{nav-bar user = myUser}}の問題は、この式がaplication.hbsにあり、このテンプレートには独自のルートがないため、そこにモデルを渡すことができないということです。 – DenimTornado

+0

コントローラと 'application'のルートを持つことができます。 'ember生成ルートアプリケーション'と 'ember生成コントローラアプリケーション'でember-cliにそれを行うように頼んでください。すべてのルートがアプリケーションルートの子であることに注意してください。そこに定義した内容がアプリケーションにあまり影響しないことを確認してください。 –

関連する問題