Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Haml转换为HTML而不计算内联Ruby脚本_Ruby_Haml - Fatal编程技术网

将Haml转换为HTML而不计算内联Ruby脚本

将Haml转换为HTML而不计算内联Ruby脚本,ruby,haml,Ruby,Haml,我需要将Haml脚本转换为等效的HTML脚本。当我在外部执行此操作时,没有运行主rails项目,Haml文件中的Ruby脚本会抛出异常(这是显而易见的)。现在,我不介意Ruby脚本是否存在于输出HTML中(在这种情况下,它看起来像erb,这对我来说很好)。我只关心一些html标记 似乎如果我可以重写Haml::Engine#render(scope=Object.new,locals={},&block)方法,那么它可能会有所帮助。但是没有完全得到它 有什么想法吗 更新 仅将-foo和=foo块

我需要将Haml脚本转换为等效的HTML脚本。当我在外部执行此操作时,没有运行主rails项目,Haml文件中的Ruby脚本会抛出异常(这是显而易见的)。现在,我不介意Ruby脚本是否存在于输出HTML中(在这种情况下,它看起来像erb,这对我来说很好)。我只关心一些html标记

似乎如果我可以重写
Haml::Engine#render(scope=Object.new,locals={},&block)
方法,那么它可能会有所帮助。但是没有完全得到它

有什么想法吗

更新

仅将
-
foo和
=
foo块分别转换为Erb
(分别)将无法完全工作,因为将存在插值,如:

%div{:class=>“#{cycle(“cssClass1”、“cssClass2”)}另一个cssclass”}

我的案例的可接受输出可以是:


除此之外,这些插值对于
-
=

效果很好。您是否研究了?

您能否提供一个简单的Haml示例文件和您想要获得的输出?您想让Ruby
-foo
=foo
块分别变成Erb
,还是别的什么?@Phrogz感谢您的回答。我已经更新了这个问题。请看一看。这是很好的额外信息,但(对我来说)还不够。请提供最小Haml文件的全文,包括您担心的边缘情况和您想要的完整输出。问题是否真的是关于Haml->ERB转换?谢谢。不知怎么的,我没找到。不用担心。很高兴能帮忙。