Haml ruby表达式缩进

Haml ruby表达式缩进,haml,Haml,当它给出ruby表达式时,比如if语句,我不知道如何正确缩进 %ul %li foo - if true %li bar 上面的代码运行正常,但两个%li没有对齐,这对我来说并不优雅,因为它们处于同一级别(我的意思是两者都是%ul的孩子) 有没有更优雅的方法可以做到这一点?如果您关心可读性的格式设置,那么最好的选择是使用erb:过滤器退出haml %ul erb: <li>foo</li> <% if true %><

当它给出ruby表达式时,比如if语句,我不知道如何正确缩进

%ul
  %li foo
  - if true
    %li bar
上面的代码运行正常,但两个
%li
没有对齐,这对我来说并不优雅,因为它们处于同一级别(我的意思是两者都是%ul的孩子)


有没有更优雅的方法可以做到这一点?

如果您关心可读性的格式设置,那么最好的选择是使用
erb:
过滤器退出haml

%ul
  erb:
    <li>foo</li>
    <% if true %><li>bar</li><% end %>
%ul
雇员再培训局:
  • 酒吧

  • 不幸的是,在这样的情况下,缩进会使代码的可读性降低,但请记住,视图在很大程度上并不意味着逻辑。您应该尽可能使用控制器和助手从视图中提取逻辑。

    好的-下面是我的代码中在案例“稍微”比这个复杂时发生的情况:

    list.haml

    %ul
      = render :partial => 'list_item', :locals => { value => 'foo', cond => true }
      = render :partial => 'list_item', :locals => { value => 'bar', cond => false }
    
    - if cond
      %li= value
    
    \u列表\u项。haml

    %ul
      = render :partial => 'list_item', :locals => { value => 'foo', cond => true }
      = render :partial => 'list_item', :locals => { value => 'bar', cond => false }
    
    - if cond
      %li= value
    

    但在这样一件小事上,我可能不会这么做。不过,大多数案例最终往往变得不那么琐碎。。。。这种方法的缺点是,您需要访问另一个文件以查看实际发生的情况。<强> PR/<强>是干的。

    你应该考虑张贴这些问题,比如这些,这也干扰了我,但是我认为下面的Erb建议更糟糕。我发现,当一些小事情开始失控时,我会把它们放在partials中。@froderik我同意你的看法,在我的建议和最初的代码之间,我可能会选择最初的代码,但我正在尽最大努力回答手头的问题。在给定视图文件中的代码格式方面,有没有更好的选项?我当然想找到一个!我想这类事情是为了获得紧凑性(我们非常喜欢!)的折衷。嘿,回答了你的问题。如果是的话,也许可以接受一个?很漂亮!我喜欢它比我的好得多。thx-我被分割了-我不喜欢把它分成几个文件,但我也不喜欢嵌入式erb