16

これは Rails 3.1 で Mailer とビューの両方でヘルパーを利用できるようにするための最良の方法ですか?

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

私は試した

helper :mailer

しかし、それでは EventMailer クラスのヘルパーを使用できませんでした。

私は試した

add_template_helper(MailerHelper)

しかし、同じ問題がありました。

4

1 に答える 1

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

あなたが望むことをし、あなたのメーラーとあなたの見解の両方であなたのヘルパーを使うことを可能にします。

お役に立てれば。

于 2011-07-30T13:56:55.563 に答える