2011-08-09 41 views
2

關於從模型訪問Rails助手有很多問題,所有這些都正確地聲明答案是不會這樣做的。這不是那個問題。從演示者/模塊訪問Rails助手?

我有一些相當複雜的控制器和視圖代碼,我想抽象爲演示者類。但該類不是ApplicationController的後代。我怎樣才能訪問設備的current_user?

回答

3

看來現在沒有「正確的權利」的方式來做到這一點。兩種可能性:

  1. 這是哈克,但你可以存儲在ApplicationController中的電流控制器,並引用它在你的演講得​​到的助手:

    class ApplicationController < ActionController::Base 
        prepend_before_filter { @@current_controller = self } 
    end 
    
    class YourPresenter 
        def current_user 
        ApplicationController.current_controller.current_user 
        end 
    end 
    
    1. 傑夫·卡西米爾正在制定偉大的裝飾者/演示者寶石draper封裝了整個想法:

https://github.com/jcasimir/draper

+1

這仍然是2015年的路嗎? – amoebe

相關問題