我正在遍历这样的集合:
<% @event_emails.each do |email| %>
<%= render file: "event_emails_mailer/#{email.code.downcase}", locals: { @body: "body" } %>
<% end %>
渲染器找到了正确的视图,但是没有传递@body
变量。
我尝试了多种不同的语法来将@body作为局部变量传递。我缺少明显的东西吗?
答案 0 :(得分:0)
事实证明,将本地参数传递到邮件视图并不像从常规控制器视图传递那样容易。
有效的解决方案是在循环中设置局部变量,并删除局部变量,如下所示:
<% @event_emails.each do |email| %>
<% @body = email.body %>
<%= render file: "event_emails_mailer/#{email.code.downcase}" %>
<% end %>