我想在 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
我还能提供什么?