Подтвердить что ты не робот

Сделать пользовательский помощник доступным как для Mailer, так и для View в Rails 3.1

- это лучший способ сделать помощника доступным как для Mailer, так и для просмотра в Rails 3.1?

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

Я пробовал

helper :mailer

самостоятельно, но это не позволило мне использовать помощников в классе EventMailer.

Я пробовал

add_template_helper(MailerHelper)

но имел ту же проблему.

4b9b3361

Ответ 1

Помощники рельсов должны быть view.

Вы заметите, что следующий код:

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

сделает то, что вы хотите, и позволит вам использовать своего помощника как в вашей почтовой программе, так и в ваших представлениях.

Надеюсь, что это поможет.