我提到的ERB庫是ERB。是否可以使用ERB庫評估html.erb模板中的yield語句?
require 'ERB'
simple_template = "Statement: <%= yield %>."
renderer = ERB.new(simple_template)
我希望能夠在一個塊通過在yield
語句中使用simple_template
。有沒有辦法與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