如何在ActionMailer主题中使用嵌入式ruby

时间:2014-05-27 02:23:47

标签: ruby-on-rails ruby actionmailer

我正在尝试在来自ActionMailer的电子邮件的主题行中使用一些嵌入式ruby,但不断出现不同的错误。

我找不到有关正确语法的任何文档。修复这行代码的任何资源?

mail(to: @user.email, subject: "Your Reservation Confirmation for" + @restaurant.name)

我已经传递了所有变量。我只需要看看如何组合文本和这些输入。

由于

2 个答案:

答案 0 :(得分:2)

有两种常见方法:

首先:(关于代表)

"...Confirmation for" + @restaurant.name.to_s

第二: 你可以使用字符串插值

"...Confirmation for #{@restaurant.name}"

答案 1 :(得分:1)

我不知道这是否是故意的,但显然@restaurant.name正在返回一个数字(正如您澄清的那样,您正在获得TypeError: no implicit conversion of Fixnum into String)。致电@restaurant.name.to_s将解决这个问题。

As G.B mentioned in another answer,字符串插值,如" ...确认#{@restaurant.name}"也可以,因为它会自动为您调用#to_s

我将解决方案应用到答案中,因为我们在评论中澄清了这一点。