Rails开发环境下循环后自动打印完整哈希,如何关闭该功能?
Rails开发模式下ERB循环后多余集合输出的解决方法
问题场景
开发模式运行rails s时,执行以下ERB代码:
<%= @attributes.each do |a| %> <%= a %></br> <% end %>
实际输出:
A B ['A','B']
预期仅输出:
A B
原因
Ruby的each方法执行后会返回原集合对象,而你用了<%=标签,它会把代码的返回值也渲染到页面上,所以循环结束后额外输出了数组['A','B']。
解决方法
把循环开头的<%=改成<%即可——<%标签仅执行Ruby代码,不会输出代码的返回值:
<% @attributes.each do |a| %> <%= a %></br> <% end %>
内容的提问来源于stack exchange,提问作者Matthias
相关产品推荐
相关产品推荐

