我的设置:Rails 3.0.9,Ruby 1.9.2,Cancan 1.6.5
我的模特:
class User
has_many :projects
class Project
has_many :tasks
belongs_to :user
class Task
belongs_to :project
ability.rb
can :manage, Task, :project => { :user_id => user.id }
我需要的是,只有在task
和user
获得授权且project
具有由project
确定的特定状态时才允许访问project
实例方法,如active?
(我有理由不将它作为一个属性)。指定能力的语法是什么?
答案 0 :(得分:0)
由于通过调用方法(在运行时)进行访问,因此必须define the ability via blocks。这适用于实例,对于类似索引的操作,您必须自己设计查询。