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

时间:2011-08-02 05:45:44

标签: ruby-on-rails ruby-on-rails-3 helper erb

在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参数传递给该块!

1 个答案:

答案 0 :(得分:9)

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

html = capture(:foo, :bar, &block)