HAML Ruby - 条件

时间:2012-05-06 19:36:46

标签: ruby haml erb

我正在阅读“Agile Web Dev with Rails”一书中的示例,但将其与我认为有用的额外技术相结合 - 就像haml一样。 有一个棘手的问题,如何记下这个错误的部分:

<% if line_item == @current_item %>
<tr id="current_item">
<% else %>
<tr>
<% end %>
  <td><%= line_item.quantity %>&times;</td>
  <td><%= line_item.product.title %></td>
  <td class="item_price"><%= number_to_currency(line_item.total_price) %></td>
</tr>

在haml?

试着这样:

-if line_item==@current_item
 %tr#current_item
-else
 %tr
%td!=line_item.quantity.to_s+"&times;"
%td=line_item.product.title
%td.item_price=number_to_currency(line_item.total_price)

但它打印出一个没有TD的空TR ...

1 个答案:

答案 0 :(得分:4)

不是让两个单独的%tr条目(在这种情况下你需要在每个tr下列出你的3个td,我想),你可以在条件中设置id:

%tr{:id => (line_item == @current_item) ? "current_item" : false}
  %td!=line_item.quantity.to_s+"&times;"
  %td=line_item.product.title
  %td.item_price=number_to_currency(line_item.total_price)