4

次の結果、LocalJumpErrorが発生します(yieldにブロックが指定されていません)

ヘルパーの場合:

def yield_wrapper
  yield
end

ビューで:

<%= yield_wrapper %>

どうやってこのようなことをするのでしょうか?次の行に沿ったサブレイアウトで使用したいと思います。

<%= content_for?(:content) ? yield(:content) : yield %>

そして、次のようなヘルパーメソッドを呼び出す方がよいと思いました。

<%= special_yield(:content) %>
4

1 に答える 1

1

私はあなたができるとは思わない。

yieldブロックを期待し、ブロックを実装するコードに値を返すために呼び出されます。erbファイルからコンテンツを挿入するためのレイアウトファイルでの使用とコンテキストを混同しています。

それに、これは悪い考えだと思います。それは必要ではないようで、それが取り除くよりも多くのコードを作成するようです。

于 2012-12-03T19:47:51.057 に答える