В Rails, как я могу передать параметр в метод `capture`? - PullRequest
4 голосов
/ 02 августа 2011

В помощнике Rails вы можете capture выводить блок ERB, используя метод capture.Однако что если блоку ERB требуется параметр?Как я могу использовать capture в этом случае?

Для подготовленного примера:

<% my_helper(:parameter, models) do |model| %>
  <%= model.eye_color %>
<% end %>

В методе my_helper я хочу окружить вывод каждой итерацииблок с <span class='color'>...</span>.

Я знаю, что могу захватить выходные данные блока ERB и сохранить его в переменной с помощью html = capture(&block), но я не знаю, как передать необходимый параметр model в этот блок!

1 Ответ

9 голосов
/ 02 августа 2011

Разве вы не можете передать их в вызов для захвата? Документы показывают, что он разделяет аргументы, поэтому я предполагаю, что они передаются в блок. Например:

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