我有这个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
条件为真时才分配类。
答案 0 :(得分:8)
试试这个
%tr{ :class => ("overdue" if ap.overdue?) }
答案 1 :(得分:0)
HAML有一个很好的内置方法来处理这个问题:
%tr{ class: [ap.overdue? && 'overdue'] }
这种方法的工作方式是条件得到评估,如果是,则字符串包含在类中,否则不会包括在内。