我有这些模特:
公司 CompanyUser 用户
CompanyUser有一个属性admin,允许他删除该公司的其他用户等。
在康康舞中,我现在有了这个但是出了点问题:
can [:edit, :update, :read, :destroy, :promote, :demote], CompanyUser, :company_users => { :user_id => user.id, :admin => true }
我想只允许用户在他是该公司的管理员时编辑,更新,... CompanyUser。我该如何定义?
答案 0 :(得分:0)
此代码应与您正在寻找的解决方案类似:
def initialize(user)
user ||= User.new
can [:manage, :promote, :demote], CompanyUser do |cu|
user.company_user.admin == true && # user is admin and
user.comany_user.company_id == cu.company_id # user is in the same company
end
如果与您的确切情况不符,请发布公司,用户和公司用户的型号。