5

emberjs(およびember-data)を使用して現在のユーザー情報を取得するための洗練された戦略を探しています。

現在、私は次のことをしています:

私のAPIは/users/me現在のユーザーで応答します。
私のアダプターでは、取得したオブジェクトIDが期待しているものではない場合real_id、ID(データベース内のユーザーのID)であるaを追加し、実際に返されたIDを期待しているものに置き換えます。

したがって、アダプターのユーザーIDとして「me」があり、サーバーが1を返す場合、次のjsonを取得します。

{"real_id": 1, "id": "me"}

これは機能します。しかし、私は大ファンではないので、アダプターのデフォルトの内容を変更することをできるだけ避けたいと思います。

このための戦略を使用していますか?あなたは何をお勧めします ?

4

2 に答える 2

9

これにはコントローラーApp.currentUserControllerを使用します。

App.CurrentUserController = Ember.ObjectController.extend({
    content: null,

    retrieveCurrentUser: function() {
        var controller = this;
        Ember.$.getJSON('/users/me', function(data) {
            App.store.load(App.User, data);
            var currentUser = App.store.find(data.id);
            controller.set('content', currentUser);
        });
    }
});
于 2012-03-13T16:10:41.500 に答える
-5
get = Em.get
set = Em.set
App.AccountController = Em.Controller.extend

        contentBinding: '_content.firstObject'

        init: ->
            set @, "_content", App.User.find()
于 2012-09-30T20:25:57.870 に答える