Estoy intentando escribir este html en haml para agregar una etiqueta de identificación si el elemento es el actual. Esto es para configurar el resaltado jquery.Establecer condicionalmente el ID del elemento HTML con 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>
Porque no quiero escribir un método de ayuda, me he pegado la sentencia if dentro de la etiqueta:
%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
Sin embargo, esta etiqueta de identificación de 'current_item' se queda con todo el artículos y no solo el actual. Esto da como resultado javascript que resalta la entrada incorrecta o completa. ¿Pensamientos sobre cómo hacer que haml coopere?
Gracias! Ojalá pudiera hacerlo más limpio – ScotterC
¡Ese es el "" que me hizo sentir mal! :-) –
la capacidad de usar nil para "ignorar" un atributo en HAML es un consejo excelente, ¡gracias por señalarlo! – jpwynn