Rails将haml模板呈现给html

时间:2012-05-21 04:04:38

标签: ruby-on-rails haml

在rails中我可以使用以下内容将erb变成html

erb(filename_as_string)

虽然我找不到haml等价物。所以我开始创建一个这样的帮手:

  def haml(file)
    lines = File.new(Rails.root.to_s + file).readlines.first
    engine = Haml::Engine.new(lines)
    engine.render
  end

虽然这不会将任何实例变量传递给我的haml文件。

是否有现成的功能? 要么 我应该向助手添加什么来传递我在控制器方法中创建的所有实例变量?

1 个答案:

答案 0 :(得分:1)

结帐http://haml.info/docs/yardoc/Haml/Engine.html#render-instance_method。如您所见,它获取默认传递的新Object以用作绑定。所以在你的情况下,你可能想要

engine.render(self)

另外,为了创建引擎,你可以

engine = Haml::Engine.new(File.read "#{Rails.root}#{file}")