在Rails中,如何将参数传递给`capture`方法?

Clo*_*boy 4 ruby-on-rails erb helper ruby-on-rails-3

在Rails助手中,您可以capture使用该capture方法输出ERB块.但是,如果ERB块需要参数怎么办?capture在这种情况下我该如何使用?

对于一个简单的例子:

<% my_helper(:parameter, models) do |model| %>
  <%= model.eye_color %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在该my_helper方法中,我想用块包围每个迭代的输出<span class='color'>...</span>.

我知道我可以捕获ERB块的输出并将其存储在变量中html = capture(&block),但我不知道如何将必要的model参数传递给该块!

cor*_*ard 9

你能否将它们传递给捕获的召唤?文档显示它splats参数,所以我认为它们会被传递给块.例如:

html = capture(:foo, :bar, &block)
Run Code Online (Sandbox Code Playgroud)