2011-04-13 87 views
1

我給我的寧靜資源添加了新動作,我如何使用cancan對它進行授權。cancan新動作

頁控制器:

load_and_authorize_resource 


def index  
end 

def show 
end 

def new 
end 

def create 
end 

def edit 
end 

def update 
end 

def destroy 
end 

def mynewaction 
end 

能力模型:

class Ability 
    include CanCan::Ability 

    def initialize(user) 
     user ||= User.new 
     can :create, Page 
     can :mynewmethod, Page #does it work? 

    end 
+0

是的,它的工作原理。你也可以把方法傳遞給數組,如 can [:create,:mynewmethod],Page – 2011-04-13 22:24:36

+0

你會接受答案嗎? – 2011-11-27 23:12:16

回答

4

是的,我相信它適用於比CRUD方法其他的事情,雖然這只是從看一些文件,檢查出​​和actual documentation by ryanb here

您應該特別注意第一個鏈接,它說load_and_authorize_resource將應用於控制器中的所有方法,即使是通常的CRUD以外的方法。

我認爲最簡單的方法就是測試一下,它在啓動時是否正確授權?沒有比嘗試更好的了。

+0

保羅從它的工作角度來看是正確的,並且在那裏進行測試以確認。 – 2011-04-13 22:26:36