在Rails电子邮件中包含动态信息

时间:2010-04-28 20:48:07

标签: ruby-on-rails email email-integration

我设法将我的电子邮件问题排序,所以现在每次创建案例时,电子邮件都会发送到指定的地址。

我有一个usermailer.rb

def makeakase(email, name, jobno, casesubject)
      recipients email
      from "no-reply@your_rails_app.com"
      subject "FW: Kase creation from Survey Manager"
      sent_on Time.now
      body :name => name
  end

我有kases_controller.rb:

if @kase.save
          UserMailer.deliver_makeakase("danny@XXXXX.co.uk", "Highrise")

在身体中我想使用我在kase show视图中使用的标签,例如:

<%=h @kase.jobno %> - <%=h @kase.casesubject %>

但它们不起作用,我收到以下错误:

wrong number of arguments (2 for 4)

有什么想法吗?

谢谢,

丹尼

2 个答案:

答案 0 :(得分:0)

好吧,你的makeakase(email, name, jobno, casesubject)有4个参数,你传递2:

UserMailer.deliver_makeakase("danny@XXXXX.co.uk", "Highrise")

您没有将@kase传递给通知程序

你需要

  def makeakase(email, name, kase)
      recipients email
      from "no-reply@your_rails_app.com"
      subject "FW: Kase creation from Survey Manager"
      sent_on Time.now
      body :name => name, :kase => kase
  end

UserMailer.deliver_makeakase("danny@XXXXX.co.uk", "Highrise", @kase)

答案 1 :(得分:0)

我解决了这个问题:

在user_mailer视图中,您可以输入&lt;%= h @ kase.jobno%&gt; - &lt;%= h @ kase.casesubject%&gt;标签就像在Kases的show视图中一样。

希望这有助于其他人。

谢谢,

丹尼