好的,所以这个伤害了我的大脑:
我在 send_invoice_html.erb 中有类似的内容,这是我的 user_mailer 视图之一:
<% if @cust_inv_template %>
<%=raw @cust_inv_template.cust_mail_invoice_template%>
<%else%>
所以我让用户在另一个视图中设置他们的电子邮件模板,将其保存到数据库中,然后我想说“如果有模板,就使用它,否则,使用我的默认值”。
我的模板里面有一些 HTML 和一些 Rails 代码:
<html>
Aloha <%= @user.first_name %>,<br />
<p>Please find attached your invoice for Job #<%= @job.job_number %> which we completed on <% ed = Date.parse(@job.end_date.to_s);
endDate = Date.strptime(ed.to_s, "%m-%d-%Y") %><%= endDate.to_s %>.</p>
<p>If you have any questions, please call us at <%= number_to_phone(@admin.phone_number) %> or email us at <%= @admin.email %></p>
<br />Thanks,
<br/><%= @admin.name %>
</html>
因此,当消息被发送到我的邮箱(Gmail)时 - 我看到:
Aloha <%= @user.first_name %>,
Please find attached your invoice for Job #<%= @job.job_number %> which we completed on <% ed = Date.parse(@job.end_date.to_s); endDate = Date.strptime(ed.to_s, "%m-%d-%Y") %><%= endDate.to_s %>.
If you have any questions, please call us at <%= number_to_phone(@admin.phone_number) %> or email us at <%= @admin.email %>
TEST TEST TEST TEST TEST
Thanks,
<%= @admin.name %>
Ergo - 我的 HTML 在 <%=raw 部分得到了很好的尊重(我之前尝试过 html_safe ) - 但是 Rails 代码按原样吐出。我希望在发送消息之前解释 Rails-y 的优点。
当我取出 if else 的东西并使用完全相同的模板时,Rails 代码受到尊重。
这意味着在某个类中必须有某种“吐出这个字符串 var 里面的东西,如果里面有任何很酷的 rails 东西,请继续解释那个”方法:)
有谁知道那是什么?