【问题标题】:In Rails, how can I pass a parameter to the `capture` method?在 Rails 中,如何将参数传递给 `capture` 方法?
【发布时间】:2011-10-17 23:26:14
【问题描述】:

在 Rails 帮助程序中,您可以使用 capture 方法capture ERB 块的输出。但是,如果 ERB 块需要参数怎么办?在这种情况下如何使用capture

举一个虚构的例子:

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

my_helper 方法中,我想用&lt;span class='color'&gt;...&lt;/span&gt; 包围块的每次迭代的输出。

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

【问题讨论】:

  • 你不能将它们传递给capture的调用吗?文档显示它会引发参数,所以我假设它们被传递给块。例如:html = capture(:foo, :bar, &amp;block)
  • @coreyward 附言。回答这个问题可以获得 25 分。 :)
  • 不确定它是否成功。木已成舟。 :)

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


【解决方案1】:

您不能将它们传递给捕获调用吗?文档显示它会引发参数,所以我假设它们被传递给块。例如:

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

【讨论】:

    猜你喜欢
    • 2013-01-25
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 2015-01-29
    • 2014-10-16
    • 2017-03-16
    • 2021-12-13
    相关资源
    最近更新 更多