0

这就是我的数据库的布局方式。

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

第二个可以不工作。我想要它,这样我就可以让用户能够编辑与他的所有计算机关联的所有帐户。关于为什么这不起作用的任何想法?我已经尝试实施指南所说的一些方法,但这些方法也不起作用。

4

1 回答 1

0

我有类似的情况,并且能够使它与:

can :manage, Account, computer_id: user.computers.collect(&:id)

因此,基本上,用户可以管理具有与用户关联的 computer_ids 的帐户。

于 2013-01-31T03:03:22.087 回答