erb to haml转换为应用body类

时间:2016-02-05 19:27:48

标签: ruby-on-rails haml

我在erb中有两行

<body class="<%= yield (:body_class) %>">
<% content_for :body_class, "my_class" %>

我试过了

- content_for :body_class do
  my_class

对于上述HAML转换,我不确定 - 是否正确!

无法计算出HAML转换
<body class="<%= yield (:body_class) %>">

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

你可以这样做:

%body{ class: "#{yield (:body_class)}" }

- content_for :body_class do
    my_class

答案 1 :(得分:0)

有一个gem

erb2haml see details on Github)。

这个gem将为您提供两个命令,允许您:

  1. 将erb转换为haml

  2. 将hab转换并替换为haml

  3. 要保留原始ERB文件,您可以运行:

    rake haml:convert_erbs
    

    要将原始ERB文件转换为haml后丢弃,您可以运行:

    rake haml:replace_erbs
    

    还有一个名为html2haml的gem,如果你不在Rails应用程序中和/或你只想转换特定文件,它会更好。

    在你的erb文件上运行html2haml命令后,这个gem会给你以下代码:

    %body{:class => "#{yield (:body_class)}"}
      - content_for :body_class, "my_class"