假设我帐户,项目和任务的 emberjs模型/控制器/视图,并且我希望通过帐户范围访问项目和任务,我该怎么做在emberjs中这样做。我正在考虑使用'init',但在设置了所有其他属性后调用'init函数',所以我不知道它是否仍然能够获取currentUser或创建默认的currentUser,并将其与 App命名空间中创建的每个ember对象实例相关联。
在emberjs中如果我有这个例如:
App = Ember.Application.create({
init: function() {
this._super();
this.setCurrentUser();
//console.log(this.get("setCurrentUser")
},
setCurrentUser: function(json) {
this.store.load(this.User, json);
this.set('currentUser', this.User.find(json['id']));
}
});
上面的emberjs代码是否意味着每当访问App命名空间的任何部分(例如App.project)时,首先会查看currentUser,从而确保项目范围为User 。
为了更清楚,例如在rails中,我将以这种方式进行范围访问:
#account-scope in Rails?
class ApplicationController < ActionController::Base
def current_account
@current_account ||= current_user && current_user.account
end
end
#An imagined ProjectsController showing scoped access of project through account
@projects = current_account.projects
@project = current_account.projects.find(params[:id])
感谢您的见解。