2011-12-13 53 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可用到视图模板的模块内)。

相关问题