【问题标题】:How to write variable in haml如何在haml中写入变量
【发布时间】:2014-04-07 01:43:59
【问题描述】:

我正在尝试在 RoR 上使用 haml。

我在haml中遇到了一些问题。

我的示例代码如下。

ERB:

<p> <div class="hello"> <%= @sample.val %> <%= @hogehoge.val %> </div> </p>

HAML:

%p
  .hello
    = @sample.val
    = @hogehoge.val

我可以在erb文件中写一行。

但是,我必须用haml写4行。

Haml 的语法结构是如此的聪明和优美,不是吗?

但我认为写这么多行并不聪明。

在这种情况下我如何在haml中写一行。

【问题讨论】:

    标签: ruby-on-rails haml


    【解决方案1】:

    如果您不喜欢 haml 的工作方式,为什么要使用它?这就是haml的工作方式。如果你想要不同的东西,你需要不同的东西,有更多的模板语言。

    您抱怨行数,但考虑字符数和可读性、可维护性。行数是你的代码中不太重要的事情之一,还是你使用erb或plain html时将所有的html代码写在一行中?

    你可以节省几行:

    %p
      .hello= "#{@sample.val} #{@hogehoge.val}"
    

    但这真的那么重要吗?好吧,现在你有 2 行而不是 1 行,它够“聪明”吗?我不认为你可以在一行中使用 haml。

    【讨论】:

      【解决方案2】:

      但是,我必须用haml写4行。

      是的,但是如果您没有正确嵌套,您已经保存了很多字符并且现在会出现编译时错误。不要专注于使用的线条,而是清晰度。

      认为你可以这样做:

      %p %div.hello
        = @sample.val + " " + @hogehoge.val
      

      【讨论】:

        【解决方案3】:
        .hello
           = @sample.val
           = @hogehoge.val
        

        如果您使用 &lt;p&gt; 进行样式设置,最好将 margin 属性放在您的 .hello css 中

        您错过了 haml 的要点 - 它比 erb 更简洁

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-06-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-03
          • 1970-01-01
          相关资源
          最近更新 更多