为Mailer和View in Rails 3.1提供自定义帮助程序

时间:2011-07-22 19:32:16

标签: ruby-on-rails ruby-on-rails-3 actionmailer helper mailer

这是在Rails 3.1中为Mailer和view提供帮助的最佳方法吗?

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

我试过

helper :mailer

本身,但这不允许我在EventMailer类中使用帮助器。

我试过

add_template_helper(MailerHelper)

但有同样的问题。

1 个答案:

答案 0 :(得分:33)

铁路助手应该是查看帮手。

您会注意到以下代码:

class MyController < ApplicationController
    helper :my
end

会使MyHelper中的方法可供视图使用,但可用于您的控制器操作。 include MyHelper将使控制器中的辅助方法可用。

总结:

helper :my您可以在视图中使用帮助

include MyHelper您可以使用控制器中的助手

我解释了一下,但你已经回答了你的问题:

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

    # rest of the code goes here ...
end

将按照您的意愿行事,并允许您在邮件程序和视图中使用帮助程序。

希望这有帮助。