2017-11-29 5 views
0

私はサービスを使用しようとしていますが、ユーザーログインセッションについて言いましょう。 サービスからユーザーの情報を取得します。EmberJS:サービスからモデルを更新できますか?

ここでは、理想的にはモデル(ユーザープロファイル)を使用してこの情報を表示します。

私のサービスで私の質問は、ユーザープロファイルモデルの属性を設定できますか? 私の "profile-view"ルートでは、ユーザープロファイルモデルのデータを表示できます。

答えて

0

ストアサービスを挿入し、レコードを取得して変更することができます。

'@ ember/service'からのインポートサービス。

export default Service.extend({ 
    afterLogin(userId, sessionData) { 
    let store = this.get('store'); 
    let userProfile = store.peekRecord('user-profile', userId); 
    userProfile.set('foo', sessionData.foo); 
    }, 
    store: service(), 
}); 

しかし、セッションレコードをモデルレコードに設定する理由はわかりません。セッションに関連するデータを消費するだけの場合は、必要に応じてサービスをインポートして直接アクセスすることができます。ログイン後にユーザープロフィールを更新する必要がある場合(例えば、最後のログインプロパティを設定するなど)、私の意見ではapiが責任を負います。

関連する問題