【发布时间】:2016-05-23 17:50:01
【问题描述】:
我指的ERB库是ERB。
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
【问题讨论】:
-
您只是想执行逻辑并将其排除在您的视图文件之外吗?
-
我正在尝试实际实现我自己的(更基本的)Rails Web 框架版本,这涉及呈现由基本 application.html.erb 类型视图和另一个视图形成的视图被插入到 yield 语句中。
标签: ruby-on-rails ruby erb