【问题标题】:Conditional class in HAMLHAML 中的条件类
【发布时间】:2014-07-17 11:49:54
【问题描述】:

我有这个 html

  <tr <% if ap.overdue? %>class = "overdue"<% end %> >
    <td><%= ap.id %></td>
    <td><%= link_to ap.affiliate.title, superadmin_affiliate_path(ap.affiliate) %></td>
  </tr>

如何在 HAML 中编写等效代码? 特别是第一行,仅当if 条件为真时才分配一个类。

【问题讨论】:

标签: html ruby-on-rails haml


【解决方案1】:

试试这个

%tr{ :class => ("overdue" if ap.overdue?) }

【讨论】:

  • 感谢您的实际回答。而不是像一些粗鲁的用户那样投反对票。
  • 如果你有你总是需要的类和一个或多个变量类,你可以使用一个变量(即类:@some_var)或带三元的字符串插值(即类:“some-class #{ap.overdue? ? "overdue" : ""}")
【解决方案2】:

HAML 有一个很好的内置方法来处理这个问题:

%tr{ class: [ap.overdue? && 'overdue'] }

其工作方式是条件被评估,如果为真,则字符串被包含在类中,如果不是,则不会被包含。

【讨论】:

    猜你喜欢
    • 2013-03-10
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 2013-12-14
    • 2015-08-04
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    相关资源
    最近更新 更多