在Rails助手中,您可以使用capture
方法capture
ERB块的输出。但是,如果ERB块需要参数怎么办?在这种情况下如何使用capture
?
对于一个简单的例子:
<% my_helper(:parameter, models) do |model| %>
<%= model.eye_color %>
<% end %>
在my_helper
方法中,我想用<span class='color'>...</span>
包围块的每次迭代的输出。
我知道我可以捕获ERB块的输出并将其存储在html = capture(&block)
的变量中,但我不知道如何将必要的model
参数传递给该块!
答案 0 :(得分:9)
你能否将它们传递给捕获的召唤?文档显示它splats参数,所以我认为它们会被传递给块。 E.g:
html = capture(:foo, :bar, &block)