通过emberjs init中的帐户/用户对象进行范围访问:function()

时间:2012-11-21 19:13:22

标签: ember.js ember-data

假设我帐户,项目和任务 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])

感谢您的见解。

0 个答案:

没有答案