私が参照するERBライブラリはERBです。ERBライブラリを使用してhtml.erbテンプレートのyield文を評価することはできますか?
require 'ERB'
simple_template = "Statement: <%= yield %>."
renderer = ERB.new(simple_template)
私はsimple_template
にyield
文で使用されるブロックに渡すことができるようにしたいです。 ERBライブラリでこれを行う方法はありますか?
次は動作しません:
renderer.result { "I am yielded" } # LocalJumpError: no block given (yield)
どちらも行います。
prc = Proc.new { "I am yielded" }
renderer.result(prc) # TypeError: wrong argument type proc (expected binding)
ERBライブラリを使用するよりも、これを行うには良い方法はありますか?
この質問は、application.html.erbのRailsアプリケーションで何が起こるかを示しているようです。
更新: yield in ERB without rails
あなたはexec uteロジックとビューファイルからそれを保つ? –
私は自分の(もっと基本的な)バージョンのRails Webフレームワークを実際に実装しようとしています。基本的なapplication.html.erbタイプのビューとyieldステートメントに挿入される別のビューによって形成されたビューをレンダリングします。 – evianpring