【发布时间】:2017-03-27 00:49:24
【问题描述】:
我有三个模型,组织、工作和用户。看下面的关系:
用户.rb
has_many :organizations, :through => :jobs
has_many :jobs, dependent: :destroy
组织.rb
has_many :users, :through => :jobs
has_many :jobs, dependent: :destroy
工作.rb
belongs_to :organization, :foreign_key => :organization_id
belongs_to :user, :foreign_key => :user_id
如您所见,工作与组织和用户相关。每项工作都有一个附加的角色,无论是常规的、管理员的还是管理的。我正在尝试做的是查看current_user 是否是视图中的组织的管理员或经理。如果他们在具有角色管理的组织中工作,那么他们将是经理等
我能够查询用户管理使用的组织:
includes(:jobs).where(jobs: { :user_id => current_user.id, :role => ["management", "admin"] }
但是,给定一个组织对象,如果用户是经理或管理员,我该如何检查视图?
即if current_user.organization.admin?
非常感谢任何帮助。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 activerecord