Использование вспомогательного метода в почтовой программе, определенной в контроллере - PullRequest
3 голосов
/ 14 мая 2010

Вспомогательный метод current_user определен и доступен как помощник в ApplicationController, например:

class ApplicationController < ActionController::Base
  helper_method :current_user
    def current_user
        return @current_user if defined?(@current_user)
        @current_user = current_user_session && current_user_session.record
    end
end

У меня вопрос, как я могу использовать вспомогательный метод current_user в шаблоне почтовой программы (очевидно, он всегда будет возвращать nil, но я пытаюсь отобразить частичную часть, которая зависит от него).

Обычно, когда я хочу использовать помощников в почтовой программе, я делаю что-то вроде add_template_helper(SongsHelper), но поскольку помощник определен в классе, а не в модуле, я не уверен, что делать

1 Ответ

4 голосов
/ 14 мая 2010

Мне нравится передавать пользователя в переменной, а затем просто использовать это в шаблоне. Он передает current_user вызов контроллеру (откуда я обычно доставляю почту).

Другое решение состоит в том, чтобы поместить current_user и поддерживающие методы в модуль и смешать его с ApplicationController, а также использовать с методом helper в вашем классе, который наследуется от ActionMailer :: Base. Посмотрите документы , если вы заинтересованы в этом методе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...