次のような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に問題なくメモを追加できますが、破棄しようとすると次のようになります。
アクションの実行におけるNoMethodErrornotesController#33 nil:NilClassの未定義のメソッド `take_action'
私が見逃している、または間違っていることはありますか?どんな助けでも大歓迎です。ありがとう!