为什么rails对象会显示在通过ActionMailer发送的电子邮件中

时间:2014-09-23 13:41:53

标签: ruby-on-rails ruby-on-rails-4 actionmailer

我正在使用Pragmatic Agile Rails开发手册练习ROR4。其中,有一个关于通过ActionMailer发送电子邮件的部分。虽然我能够发送电子邮件,但我无法在突出显示的区域中删除已显示的Rails对象,如下所示:enter image description hereLineItem是一个模型,用于存储买方放入Product的{​​{1}}数量

<小时/> 这些是我的文件的内容:

Cart

有人可以告诉我,为什么// order_notifier.rb = my email sender model class OrderNotifier < ActionMailer::Base default from: "username@domain.com" def received(order) @order=order mail to: @order.email, subject: 'Pragmatic Store Order Confirmation' end def shipped mail to: "to@example.org" end end // recieved.html.erb = the mail that will be sent <h3>PragmaticOrderShipped</h3> <p>This is just to let you know that we've shipped your recent order:</p> <table> <tr> <th>Description</th> <th>Qty</th> </tr> <%=@order.line_items.each do |o_li|%> <tr> <td><%=Product.find(o_li.product_id).title%></td> <td><%=o_li.quantity%></td> </tr> <%end%> </table> 出现在最终的电子邮件中?

1 个答案:

答案 0 :(得分:4)

在您的ERB文件中,从=

中删除@order.line_items.each符号
<% @order.line_items.each do |o_li|  %>

除了执行块之外,这将导致打印模型对象。