2008/6/25 Eduardo Trápani <[EMAIL PROTECTED]>:
> <table>
> <% for i in [
> {:label => 'Fecha',:field => 'date'},
> {:label => 'Contratista',:field => 'contratista.nombre'},
> {:label => 'Desde',:field => :desde},
> {:label => 'Hasta',:field => :hasta},
> {:label => 'Monto',:field => :amount}
> ] %>
> <tr>
> <th><%= i[:label] %></th><td class="sinborde"><%= @contrato.send(i[:field])
> %></td>
> </tr>
> <% end %>
> </table>
>
Las primeras versiones del generate scaffold hacían algo parecido con un
<% for field in @contrato.attributes %>
<tr>
<th><%= field.name %></th>
<td class="sinborde"><%= h field.value %></td>
</tr>
<% end %>
Ojo que estoy inventado y no se si falta algún detalle, en particular
se me ocurre que no siempre querés mostrar todos los atributos, en ese
caso haría un método contrato#atributos_mostrables que devuelva la
lista, o en todo caso en el mismo for le agregás un .reject o .select
de acuerdo a lo que necesites:
<% for field in @contrato.attributes.select { |a|
['campo1','campo2','campo3'].includes? a.name %>
<tr>
<th><%= field.name %></th>
<td class="sinborde"><%= h field.value %></td>
</tr>
<% end %>
El comentario sobre CSS2 aplica de todas formas, podes estilear todas
las td con .contenedor td
Saludos. Lucas.
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar