我有两段(大)相同的代码,唯一的区别是,一段以
<% end %>
作为最后一行,另一行以
<% end # finish loop_x %>
第二个产生了错误:
ActionView::Template::Error (undefined method `html_safe' for nil:NilClass):
13: <% flash.each do |key, value| %>
14: <div class="alert alert-<%= key %>"><%= value %></div>
15: <% end %>
16: <%= yield %>
17: <%= render 'layouts/footer' %>
18: <%= debug(params) if Rails.env.development? %>
19: </div>
app/views/layouts/application.html.erb:16:in '..
但奇怪的是,这个错误只有在 <% end # %> 是页面的最后一行时才会发生。如果我将评论放在页面中途的 end 语句中,则没有错误。并以 <% end %> 结尾可以正常工作。
我正在使用 rails 3.2.3,但这也发生在 3.2.2