Rails:与块帮助器和视图混淆

时间:2014-11-03 16:27:05

标签: ruby-on-rails

我在帮助器上有以下功能

#soround with a div
def bigDiv &block
  render "test/big_div", block: block
end

_big_div_partial是:

<div>
<%= block.call()%>
</div>

我在html.erb页面中使用以下内容

<%= bigDiv do %>
    text
<% end %>

输出结果为:

text
text

我开的地方

text

为什么要两次写文字?

1 个答案:

答案 0 :(得分:1)

是的,因为你写入缓冲区两次。首先是块<%= block.call %>的结果,然后输出:

<%= bigDiv do %>
    text
<% end %>

=

中删除<%= block.call %>