开发者

Make a custom helper available to both Mailer and View in Rails 3.1

is this the best way to make a helper available to both Mailer and view in Rails 3.1?

class EventMailer < ActionMailer::Base
  include MailerHelper
  helper :mailer

I tried

helper :mailer

on its 开发者_如何学Goown, but that didn't allow me to use the helpers in the EventMailer class.

I tried

add_template_helper(MailerHelper)

but had the same problem.


The rails helpers are supposed to be view helpers.

You will notice that the following code :

class MyController < ApplicationController
    helper :my
end

will make the methods in MyHelper available to the views, but not to your controller actions. include MyHelper will make the helper methods available in the controller.

Summarized :

helper :my and you can use the helpers in your views

include MyHelper and you can use the helpers in your controller

I explained a bit more, but you already answered your question :

class EventMailer < ActionMailer::Base
    include MailerHelper
    helper :mailer

    # rest of the code goes here ...
end

will do what you want and allow you to use your helper in both your mailer and your views.

Hope this helps.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜