在康康,如何检查是否可以?管理给定模型的每个记录

时间:2011-08-23 23:08:29

标签: ruby-on-rails cancan

  1. 我的管理员can :manage, Widget
  2. 我的用户can :manage, Widget, :user_id => user.id
  3. 在我看来,我只想在current_user可以管理每个 Widget记录时显示一个链接。

1 个答案:

答案 0 :(得分:0)

总的来说?

can? :manage, Widget

如果您指的是现有记录的某些检查,这听起来像是一个设计缺陷,但这应该有效。请注意,如果这是您正在采取的方法,则在进行此检查后,您将遇到竞争条件并创建其他Widget条记录。

(can? :manage, Widget) || (Widget.count == Widget.count(:conditions => ["user_id == ?", current_user.id]))