UserMailer错误在<%end%>在<%end%>内这是为什么?

时间:2013-03-14 04:28:05

标签: ruby-on-rails ruby ruby-on-rails-3

我有一个UserMailer模板,它是文本。在文本视图中,我有以下内容:

<% if !@thing.empty? %>
  <% @thing.each do |id, count| %>
    <%= #{count}%> <%= #{id} %> 
  <% end %>
<% end %>

这看起来很好,但是错误了?

ActionView::Template::Error: /app/views/user_mailer/user_daily_activity.text.erb:12: unterminated string meets end of file
/app/views/user_mailer/myfile.text.erb:12: syntax error, unexpected $end, expecting ')'

知道为什么rails会出错吗?感谢

2 个答案:

答案 0 :(得分:4)

#{count}格式仅供字符串使用,而不是作为独立引用使用。由于您没有在字符串中使用它,#被解释为注释。

请改为尝试:

<%= count %> <%= id %>

这也是等价的:

<%= "#{count} #{id}" %>

答案 1 :(得分:2)

这是由于您在.html.erb视图中发表评论。你的第3行是评论。

<% if !@thing.empty? %>
  <% @thing.each do |id, count| %>
    <%= "#{count}" %> <%= "#{id}" %> 
  <% end %>
<% end %>