16

这是在 Rails 3.1 中为 Mailer 和视图提供帮助程序的最佳方式吗?

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

我试过

helper :mailer

就其本身而言,但这不允许我使用 EventMailer 类中的帮助程序。

我试过

add_template_helper(MailerHelper)

但有同样的问题。

4

1 回答 1

33

rails 助手应该是视图助手。

您会注意到以下代码:

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

会做你想做的事,并允许你在你的邮件和你的视图中使用你的助手。

希望这可以帮助。

于 2011-07-30T13:56:55.563 回答