【发布时间】:2010-07-22 21:23:05
【问题描述】:
我有一个如下所示的 TakeAction 模型:
class TakeAction < ActiveRecord::Base
belongs_to :user
has_many :take_action_notes
attr_protected :user_id
end
还有一个像这样的 TakeActionNote 模型:
class TakeActionNote < ActiveRecord::Base
belongs_to :take_action
validates_presence_of :note
end
使用 CanCan,我试图允许拥有 take_action 的用户创建和销毁(管理)笔记。
我试过用这样的方块来定义能力。
can :manage, TakeActionNote do |action, note|
note.take_action.user.id == user.id
end
我可以毫无问题地向 take_action 添加注释,但是当我尝试销毁它时,我得到:
Take action notesController#33 中的 NoMethodError nil:NilClass 的未定义方法“take_action”
我有什么遗漏或做错了吗?任何帮助表示赞赏。谢谢!
【问题讨论】:
标签: ruby-on-rails cancan