2011-12-13 46 views
0

爲了得到我的郵件和視圖,以呈現正確,我必須做到以下幾點:爲什麼我需要包含一個助手兩次才能在郵件及其視圖中訪問它?

include ::KamilHelper 
add_template_helper(KamilHelper) 

,因爲我使用的方法do_it()都在這裏:

class Notifier < ActionMailer::BAse 
    def run_it 
    do_it() 
    end 
end 

,並在其相應的視圖:

<%= do_it() %>. 

否則,我得到:

undefined method `do_it' for #<Notifier:0x00000102b24af0> 

的視圖或郵件?

回答

1

你在控制器做include ::KamilHelper?如果是這樣,這包括從助手到當前類(例如控制器)的方法,但是來自控制器的方法在視圖中不可用。 add_template_helper使得這些方法可用來呈現從電流控制器模板(通過調用include ::KamilHelper可用到視圖模板的模塊內)。

相關問題