我想在erb中使用ruby块/ yield概念(具体来说,我可以使用form_helpers)。当我这样做时,我得到语法错误,但不是在我的erb代码中;在输出的代码中,一旦erb已被处理。
例如,假设我有以下帮助:
def test_method # assume this returns some string
yield if block_given?
end
我有这个错误的代码:
<%= test_method do %>
<h1>asdf</h1>
<% end %>
结果是:
syntax error, unexpected ')' ; @_out_buf.concat(( test_method do ).to_s)
据我所知,第一行转换为独立于其他行的代码。我不明白的是为什么或如何解决它。谢谢!
ruby:1.9.3-p392
sinatra:1.42
我能提供的其他任何东西?