我需要将Haml脚本转换为等效的HTML脚本。由于我在外部执行此操作而未运行主rails项目,因此Haml文件中存在的Ruby脚本会抛出异常(这很明显)。现在,我不介意Ruby脚本是否存在于输出HTML中(在这种情况下,它看起来像一个erb,这对我来说很好)。我只关心一些html标签。
似乎我可以覆盖Haml::Engine#render(scope = Object.new, locals = {}, &block)
方法然后它可以帮助。但没有完全得到它。
有什么想法吗?
更新
仅将-
foo和=
foo块转换为Erb <% foo %>
和<%= foo %>
(分别)将无法完全生效,因为插值将在那里,如:< / p>
%div{:class => "#{cycle("cssClass1", "cssClass2")} anotherCssClass"}
我案例的可接受输出可以是:
<div class=<%= "#{cycle("cssClass1", "cssClass2")} anotherCssClass" %> ></div>
除了这些插值this以外,-
和=
效果很好。