wrt lo de la semántica de la tabla: los <th /> no necesariamente tienen que
estar en la parte de arriba, mirá el ejemplo en [1].

[1]: http://www.w3.org/TR/html401/struct/tables.html#h-11.1

Nacho

2008/6/27 Eduardo Trápani <[EMAIL PROTECTED]>:

> Yo uso algunos muy básicos para arrancar las aplicaciones, lo podés
>> ver en http://github.com/djanowski/rails_basic_helpers. Por ahora moví
>> al repo lo que vos estás buscando, los helpers de tablas.
>>
>
> Ta, lo acabo de ver.  ¡Bárbaro!
>
> Tengo un problema sin embargo (puede ser que semánticamente una tabla no
> deba ser así).  En mi tabla tengo:
>
> <table>
>  <tr>
>    <th>Nombre</th><td>Ana Kournikova</td>
>  </tr>
>  <tr>
>    <th>Profesión</th><td>Tenista</td>
>  </tr>
> </table>
>
> O sea, cada campo tiene su propia línea, con el header a la izquierda y no
> todos los th arriba.
>
> A tu código le agregué una opción, :single_horizontal y ahora hace lo que
> quiero.  En general recibe sólo un registro, pero si recibe varios arma una
> tabla para cada uno, con un renglón por campo cada una.  Se aprecian
> sugerencias sobre cómo mejorarlo.
>
>  def table(source, options = {})
>   return nil if source.blank?
>     html = ''
>     headers = options[:headers]
>   single_horizontal = options[:single_horizontal]
>     if headers and not single_horizontal
>     html << content_tag(:thead,
>                         content_tag(:tr,
>      (headers == true ? source.delete_at(0) : headers).map {|col|
> content_tag(:th, col) }
>     )
>     )
>   end
>   if single_horizontal
>     label = source.shift
>         source.inject(html) do |buffer,row|
>     rows = ''
>     row.each_index {|i| rows << content_tag(:tr,content_tag(:th,label[i]) +
> content_tag(:td,row[i]))}
>     buffer << content_tag(:table,rows)
>     end
>     html
>   else
>     source.inject(html) do |buffer,row|
>       buffer << content_tag(:tr, row.map {|col| content_tag(:td,
> *(Array(col))) })
>       content_tag(:table, html, options)
>     end
>   end
>
>  De todas maneras, en tu caso te recomiendo que definas el método #to_s
>> en todos tus modelos y que devuelvas algo lógico para tu modelo (por
>>
>
> Sí, buena idea.  Me acuerdo que con el scaffolding había que definir name,
> si no había una columna con ese nombre.  Pero esto es mejor, porque todos lo
> usan.  Gracias.
>
> Eduardo.
>
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a