【发布时间】:2013-09-20 16:24:32
【问题描述】:
我想在 erb 中使用 ruby block/yield 概念(具体来说,以便我可以使用 form_helpers)。当我这样做时,会出现语法错误,但不会出现在我的 erb 代码中;处理完 erb 后,在输出的代码中。
例如,假设我有以下助手:
def test_method # assume this returns some string
yield if block_given?
end
我有这个 erb 代码:
<%= test_method do %>
<h1>asdf</h1>
<% end %>
结果是:
syntax error, unexpected ')' ; @_out_buf.concat(( test_method do ).to_s)
我了解第一行将独立于其他行转换为代码。我不明白为什么或如何解决它。谢谢!
红宝石:1.9.3-p392
辛纳特拉:1.42
还有什么我可以提供的吗?
【问题讨论】: