这就是我的数据库的布局方式。
User (one) => many Computers (one) => many Accounts
我正在尝试设置CanCan,以便只有计算机的所有者才能编辑帐户。这是我到目前为止所做的。
user ||= User.new
if user.admin?
can :manage, :all
else
can :manage, Computer, :user_id => user.id # <= works
can :manage, Account, :computer => {:user_id => user.id} # <= doesnt work
end
第二种方法不起作用。我希望它能让用户能够编辑与他所有计算机相关的所有帐户。为什么这不起作用的任何想法? 我尝试过实现guide所说的一些方法,但这些方法都没有用。
答案 0 :(得分:0)
我有类似的情况,并且能够使用它:
can :manage, Account, computer_id: user.computers.collect(&:id)
因此,基本上,用户可以管理具有与用户关联的computer_ids的帐户。