如何在erb中使用产量进行模板继承?我想在普通的ruby CGI脚本中使用erb,并希望像使用基本模板和子模板一样使用应用程序模板的Rails。在没有导轨的ERB中产量
12
A
回答
3
我不认为你可以 - Rails提供该基础设施作为actionpack的一部分。
你可以做的是将actionpack添加到脚本中。
或者,您可以自己滚动轻量级模板系统。
或者使用Rails或Merb或Sinatra。
35
def a
ERB.new('<%= yield %>').result(binding)
end
a{123}
#=> "123"
该呼叫到Kernel#binding
是在一个方法中是很重要的,这样的上下文包括块(ERB#result
不会拿块)。
+0
我无法得到这个工作。再培训局如何知道它应该在收益率中表现出来? – 2013-02-03 18:58:33
5
退房倾斜(http://github.com/rtomayko/tilt/)。这是在Sinatra中处理模板的宝石,它提供了ERB产量以及许多其他好的功能。
3
您可以使用倾斜,但如果你不想增加额外的依赖关系,这里是你如何能在该局得到一个更好的例子:
require "erb"
class Controller
TEMPLATE = ERB.new("Hello <%= @someone %>\n\n<%= yield %>")
def initialize(someone)
@someone = someone
end
def render
TEMPLATE.result(self.get_binding { yield })
end
def get_binding
binding
end
end
puts Controller.new("World").render { "I'm Jack" }
# =>
Hello World
I'm Jack
我找到了答案here。
0
我写的关于这里http://hostiledeveloper.com/2015/05/28/working-with-templates-in-ruby-erb.html
添加此为标准库的ERB这是令人惊讶的在一个痛苦的对接。
相关问题
- 1. 资产没有在导轨的生产中加载
- 2. 导轨资产没有在生产中预编译
- 3. 导轨产量 - content_for问题
- 4. 导轨生产中的SystemStackError
- 5. 没有导轨的ActiveModel
- 6. 罗德没有ERB
- 7. 在导轨中定制产品规格
- 8. 没有外键导轨
- 9. 在小胡子中使用参数导轨产量
- 10. 生产中的导轨和山012
- 11. 导轨 - 资产管道
- 12. 导轨,产品变体
- 13. 导轨改变生产
- 14. 资产没有通过.erb预处理器运行
- 15. 导轨:导轨中
- 16. 使用没有导轨的回形针
- 17. 导轨没有这样的列错误
- 18. 没有导轨cmd的新Rails项目
- 19. 没有控制器的导轨视图
- 20. 资产管道导轨3.2不能在生产中工作
- 21. 内联样式在轨道4,5 ERB
- 22. 如何把在轨angularjs属性ERB
- 23. 导轨产品名称在视图
- 24. 有没有办法在Ruby ERB模板中列出可用变量?
- 25. 在没有导轨的红宝石中实现rails before_filter
- 26. 在没有模型的导轨中上传图像
- 27. 没有错误的轨道增量
- 28. f.select没有在轨
- 29. 在滑轨上连接多个产量
- 30. Rspec +工厂女孩(没有导轨!)
尽管得票低,布局和模板继承是Rails的一部分,而不是ERB本身。 – 2011-03-07 10:37:51