Проблема переменной экземпляра Actionmailer Ruby on Rails - PullRequest
1 голос
/ 14 августа 2011

У меня есть настройка планировщика электронной почты для отправки ежедневного электронного письма с обновлениями о сайте всем пользователям,

Однако, когда я пытаюсь отправить электронное письмо, все переменные возвращаются как ноль, я предполагаю, потому что ничего явно не определено. Т.е. никто не отправляет форму со своей электронной почтой, не нажимает кнопку отправки и не запускает электронную почту, это просто ежедневное электронное письмо всем пользователям, которое, для простоты, мы скажем, должно содержать адрес электронной почты получающего пользователя.

     <%= @user.email %>

Заранее спасибо за помощь!

    def newideas_email(user)
    @user = user
    mail(:to => user, :subject => "Here are the latest ideas from your team")
    end

и вот задача планировщика:

    scheduler.every("30m") do  
    Account.all.each do |account|
    account.users.each do |user|
    Newideas.newideas_email(user.email).deliver
    end
    end
    end

и вот фактический код электронной почты:

    <% @user.account.ideas.each do |idea| %>  
    <li><%= idea.title %></li> 
    <% end %>

Еще раз спасибо!

1 Ответ

3 голосов
/ 14 августа 2011

В вашем запланированном коде вы передаете адрес электронной почты пользователя на адрес Newideas.newideas_email(user.email). Вероятно, вы хотели передать сам пользовательский объект Newideas.newideas_email(user), потому что ваш шаблон представления ожидает, что он будет ActiveRecord.

...