将html.slim视图转换为html.erb – Rails,Slim,ERB

尝试* .html.slim视图转换为* .html.erb 我看过这两个问题:

  • 如何将html.slim转换为html.erb? – 从控制台调用时获取uninitialized constant

  • 如何将html.slim文件转换为html或html.erb? – 解析器遇到NoMethodError: undefined method image_tag for nil:NilClass遇到第一个= image_tag 。 我没有在我的调用中使用任何变量,图像标记指向和svg

如果Stack Overflow的优秀人员可以帮我找出image_tag问题,我认为后一种解决方案效果最好。

我的代码(根据要求):

 page data-id="foo-page" .container = image_tag 'bar.svg' 

我在windows上使用gitbash,

这对我有用,

 slimrb -e foo.html.slim foo.html.erb 

正如所料,后一种解决方案起作用。 诀窍是传递-e标志,让解释器知道你正在转换为erb 。 所以完整的命令是:

  slimrb -e `foo.html.slim` > foo.html.erb 

编辑:

为了确保interperter在变量之前省略了对Temple::Utils.escape_html((...))不必要的调用,你可以像这样传递--rails标志:

 slimrb --rails -e `foo.html.slim` > foo.html.erb