【发布时间】:2011-07-07 12:36:45
【问题描述】:
我有一个 Rails 应用程序,我在其中渲染了一个存储在模型属性中的 Haml 内容块。在那个 Haml 块中使用 Rails 视图助手会很好。目前我在视图助手中使用 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
关于如何做到这一点的任何想法?
更好的想法?
【问题讨论】:
标签: ruby-on-rails haml