ERB助手中没有内联块?

时间:2012-08-22 13:34:50

标签: ruby-on-rails-3 syntax erb view-helpers

我很好奇:在ERB文件中,将块传递给视图助手时,为什么这个有效:

<%= div_for @thing do |x| %>
  <%= x %>
<% end %>

这不是

<%= div_for @thing {|x| x.to_s} %>

在Ruby中,do...end{...}完全相同,为什么不在ERB?请注意:我可以在上面的第二行单独使用x,因为它的.to_s方法返回我想要渲染的字段。很抱歉,如果之前有人询问,我无法找到类似的问题(虽然找到了similar answer)。

1 个答案:

答案 0 :(得分:0)

我怀疑第二个代码块与:

完全相同
<%= div_for @thing do |x| %>
  <% x %>
<% end %>

因为x上没有“=”,所以它不会在视图中输出。 试试:

<%= div_for @thing {|x| concat x.to_s} %>