当前位置:  开发笔记 > 后端 > 正文

如何干掉重复嵌套的HAML?

如何解决《如何干掉重复嵌套的HAML?》经验,为你挑选了1个好方法。

我正在编写电子邮件视图,这在使用嵌套表时尤其令人讨厌.我的电子邮件的许多部分中的每一部分都需要围绕它的相同讨厌的东西:

%table.centered
  %tbody
    %tr
      %td
        %table.one-col{"emb-background-style" => ""}
          %tbody
            %tr
              %td.column
                %div
                  .column-top  
                %table.contents
                  %tbody
                    %tr
                      %td.padded
                        COPY COPY COPY ETC.

每个部分的内容都是大量的副本和链接以及诸如此类的内容,并将其放入ruby字符串或从单独的文件中呈现它将很难遵循.这是我想要模糊的瑕疵,而不是部分内容.

那么,有没有办法以某种方式连接残骸,使HAML减少缩进和苛刻?



1> MilesStanfie..:

这可能不会渲染部分.

你可以像这样制作一个帮助方法来隐藏你所说的所有"残酷".

# app/helpers/application_helper.rb
def nested_blk_call(&blk)
  content_tag :div, class: "nested-tag-level-1" do
    content_tag :div, class: "nested-tag-level-2" do
      content_tag :div, class: "nested-tag-level-3" do
        blk.call
        ""
      end
    end
  end
end

# some_view.html.haml
= nested_blk_call do
  .you-can-add-more-haml
    COPY COPY COPY ETC.

这将在浏览器中输出

COPY COPY COPY ETC.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有