Tôi đang cố gắng viết html này trong haml để thêm thẻ id nếu mục đó là thẻ hiện tại. Đây là thiết lập để làm nổi bật jquery.Điều kiện đặt id phần tử HTML với HAML
<% if line_item == @current_item %>
<tr class="line_item id="current_item">
<% else %>
<tr class="line_item">
<% end %>
<td><%= line_item.quantity %>×</td>
<td><%= line_item.product.title %></td>
<td class="item_price"><%= number_to_currency(line_item.total_price) %></td>
</tr>
Bởi vì tôi không muốn viết một phương pháp helper, tôi đã bị mắc kẹt câu lệnh if bên trong thẻ:
%tr.line_item{ :id => (line_item == @current_item ? '' : 'current_item') }
%td
= line_item.quantity
%td
\x #{line_item.product.title}
%td.item_price
= number_to_currency(line_item.total_price)
%td.item_remove
= button_to 'Remove', line_item, :method => :delete
Tuy nhiên, đây tag id của 'CURRENT_ITEM' dính với tất cả các các mục và không chỉ là mục hiện tại. Điều này dẫn đến javascript làm nổi bật tất cả hoặc nhập sai. Suy nghĩ về làm thế nào để có được haml hợp tác?
Cảm ơn! Ước gì tôi có thể làm cho nó sạch hơn – ScotterC
Đó là "" khiến tôi cảm thấy xấu! :-) –
khả năng sử dụng nil để "bỏ qua" một thuộc tính trong HAML là một mẹo tuyệt vời - cảm ơn bạn đã chỉ ra điều đó! – jpwynn