2014-11-03 47 views
0

我有一个助手以下功能的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 

,我expeted

text 

为什么写文字的两倍?

回答

1

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

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

掉落=