5

我正在寻找一种优雅的策略来使用 emberjs(和 ember-data)检索当前用户信息。

目前,我执行以下操作:

我的 API 响应/users/me当前用户。
在我的适配器中,当检索到的对象 id 不是我希望的对象时,我添加一个real_id作为 id(数据库中用户的 id)的对象,并用我期望的替换实际返回的 id。

因此,当我的适配器将“我”作为用户 ID,但服务器返回 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 回答