我很好奇:在ERB文件中,将块传递给视图助手时,为什么这个有效:
<%= div_for @thing do |x| %>
<%= x %>
<% end %>
而这不是?
<%= div_for @thing {|x| x.to_s} %>
在Ruby中,do...end
与{...}
完全相同,为什么不在ERB?请注意:我可以在上面的第二行单独使用x
,因为它的.to_s
方法返回我想要渲染的字段。很抱歉,如果之前有人询问,我无法找到类似的问题(虽然找到了similar answer)。
答案 0 :(得分:0)
我怀疑第二个代码块与:
完全相同<%= div_for @thing do |x| %>
<% x %>
<% end %>
因为x上没有“=”,所以它不会在视图中输出。 试试:
<%= div_for @thing {|x| concat x.to_s} %>