2011-10-17 120 views
1

我的設置:Rails的3.0.9,1.9.2紅寶石,慘慘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如果userproject被授權,並且project具有由project實例方法如01確定的某個狀態(我有理由不把它作爲一個屬性)。指定該能力的語法是什麼?

回答

0

由於通過調用方法(在運行時)給出訪問權限,所以您必須define the ability via blocks。這將適用於實例,對於類似索引的操作,您必須自己設計查詢。