How to use my view helpers in my ActionMailer views?
How to use my view helpers in my ActionMailer views?
up vote 3 down vote favorite
I want to use the methods I defined in app/helpers/annotations_helper.rb in my ReportMailer views ( app/views/report_mailer/usage_report.text.html.erb ). How do I do this?
Based on this guide it seems like the add_template_helper(helper_module) method might do what I want, but I can't figure out how to use it.
(BTW, is there a reason you get access to a different set of helpers in mailer views? This is pretty annoying.)
ruby-on-rails
asked Sep 13 '09 at 6:02
67% accept rate
2 Answers
active newest votes
up vote 6 down vote accepted
In the model class that you are using to manage your emails:
class ReportMailer < ActionMailer :: Base
add_template_helper ( AnnotationsHelper )
...
end
answered Sep 13 '09 at 22:04
That's easy enough! – Horace Loeb Sep 15 '09 at 2:10
up vote 0 down vote
This might give you some direction, I have a method "check_options" defined in "app/helpers/app_helper.rb"
In my controller that renders the view "app/controllers/app_controller.rb" I have the following line
helper : all # include all the helpers all the time
and then finally in my view I just call the "check_options" like
<% if check_options ...
From the documentation link that you posted looks like you might need
helper (* args , & block )
Declare a helper :
"helper :foo" requires ‘ foo_helper ’ and includes FooHelper in the template class .
Give this link a try as well http://caboo.se/doc/classes/ActionController/Helpers/ClassMethods.html there are some examples that might help
A small excerpt from the page
"By default, the controller will include a helper whose name matches that of the controller, e.g., MyController will automatically include MyHelper."
Cheers
answered Sep 13 '09 at 6:47
查看更多关于How to use my view helpers in my ActionMailer view的详细内容...