Помощь ActionMailer, вставьте письмо из сессии! - PullRequest
0 голосов
/ 21 июня 2011

Notifier.rb

class Notifier < ActionMailer::Base
  def inquiry_notification(inquiry)
     recipients     inquiry.respondent.email
     from           "#{@laz.email}"
     subject        "Survey"
     content_type "text/html"
  end
end

Часть Controller.rb

...
 @laz = User.find(:all)

        respondents.each do |r|
          inquiry = Inquiry.create(:question_id => @question.id, :respondent_id => r.id, :is_answered => 0)
          Notifier.deliver_inquiry_notification(inquiry)  
        end
....

Мне нужно вставить в сообщение "FROM" (notifier.rb) этого пользователя.

Например: session [: user] .email <- вставьте это, потому что я работаю с сессиями и у меня много пользователей (администраторов и аудиторов). </p>

1 Ответ

2 голосов
/ 21 июня 2011

Почему бы вам просто не добавить дополнительный параметр в ваш метод query_notification, например:

def inquiry_notification(inquiry, from_email)
  recipients   inquiry.respondent.email
  from         from_email
  subject      "Survey"
  content_type "text/html"
end

Если вы не хотите этого делать, вы можете использовать, например, Thread.current: в контроллере

Thread.current[:email] = 'test@email.com'

в уведомителе

def inquiry_notification(inquiry)
  recipients     inquiry.respondent.email
  from           Thread.current[:email]
  subject        "Survey"
  content_type "text/html"
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...