2

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

他に私が提供できるものはありますか?

4

1 に答える 1