2011-06-28 16 views
0

使用gems單元格和declarative_authorization(與設計一起),我想弄清楚如何包含allowed_to?進入單元格模板。到目前爲止,我已將此添加到我的細胞池(制定一個適用於它的傭工):Declarative_Authorization的單元格

class SidebarCell < Cell::Rails 
    include Devise::Controllers::Helpers 
    helper_method :current_user 
    include Authorization::AuthorizationHelper 
    helper_method :permitted_to? 



    def display(args) 
    @object = args[:object] 
    @notice = args[:notice] 
    @alert = args[:alert] 
    render 
    end 

end 

但它在那個declarative_auth輔助模塊使用下面的代碼的事實轟炸:

def permitted_to? (privilege, object_or_sym = nil, options = {}, &block) 
     controller.permitted_to?(privilege, object_or_sym, options, &block) 
    end 

顯然這給

undefined local variable or method `controller' for ... 

UPDATE:

後一些更多的思考,我不確定這是否會適用於單元格。 Declarative_auth需要控制器基於它的規則,但Cells與該控制器無關。在我看來,這兩者是不兼容的,除非我將控制器的引用傳遞給單元格?開始認爲細胞不是要走的路。

回答