【问题标题】:Actionmailer instance variable problem Ruby on RailsActionmailer 实例变量问题 Ruby on Rails
【发布时间】:2011-08-14 20:49:35
【问题描述】:

我有一个电子邮件调度程序设置,用于向所有用户发送包含网站更新的每日电子邮件,

但是,当我尝试发送电子邮件时,所有变量都返回为零,我假设因为没有明确定义。即没有人用他们的电子邮件提交表单,单击提交并触发电子邮件,这只是给所有用户的每日电子邮件,为了简单起见,我们会说应该包含接收用户的电子邮件地址。

     <%= @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 %>

再次感谢!

【问题讨论】:

  • 您可以发布您用于邮件程序的代码吗?
  • 您可以从您的邮件对象(派生自 ActionMailer::Base 的对象)中发布代码吗?此外,调用 my_mailer.deliver_xxx() 的代码行。很难弄清楚缺少这段代码是怎么回事..
  • 我编辑了上面的内容以包含所有相关代码。谢谢
  • Rails 3。上面的一些看起来像 rails 2 吗?

标签: ruby-on-rails actionmailer


【解决方案1】:

在您的预定代码中,您将用户的电子邮件地址传递给邮件程序Newideas.newideas_email(user.email)。您可能打算做的是传递用户对象本身Newideas.newideas_email(user),因为您的视图模板期望它是ActiveRecord

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    相关资源
    最近更新 更多