gpt4 book ai didi

ruby-on-rails - 在Haml::Engine中使用Rails View 助手

转载 作者:行者123 更新时间:2023-12-04 05:45:16 24 4
gpt4 key购买 nike

我有一个Rails应用程序,其中渲染了存储在模型属性中的Haml数据块。在Haml的这一部分中使用Rails View 帮助程序会很好。当前,我在 View 助手中使用Haml::Engine#render渲染此模型属性的内容。它工作得很好,但是我不能使用= link_to之类的东西。为了说明问题:

irb(main):003:0> haml_text=<<"EOH"
irb(main):004:0" %p
irb(main):005:0" =image_tag 'someimage'
irb(main):006:0" EOH
=> "%p\n =image_tag 'someimage'\n"
irb(main):007:0> engine = Haml::Engine.new(haml_text)
=> #<Haml::Engine:0x7fa9ff7f1150 ... >
irb(main):008:0> engine.render
NoMethodError: undefined method `image_tag' for #<Object:0x7fa9ff7e9a40>
from (haml):2:in `render'
from /usr/lib/ruby/gems/1.8/gems/haml-3.0.25/lib/haml/engine.rb:178:in `render'
from /usr/lib/ruby/gems/1.8/gems/haml-3.0.25/lib/haml/engine.rb:178:in `instance_eval'
from /usr/lib/ruby/gems/1.8/gems/haml-3.0.25/lib/haml/engine.rb:178:in `render'
from (irb):8

关于如何做到这一点的任何想法?

更好的主意?

最佳答案

render方法允许您指定上下文。就像是

base = Class.new do
include ActionView::Helpers::AssetTagHelper
include ApplicationHelper
end.new

Haml::Engine.new(src).render(base)

可以工作。

关于ruby-on-rails - 在Haml::Engine中使用Rails View 助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5172117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com