ruby のブロック/利回りの概念を erb で使用したいと考えています (具体的には、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
他に私が提供できるものはありますか?