[Ror-es] Duda de sintaxis - nombre de campo variable
Raul Murciano
raul at murciano.net
Mon Mar 3 17:07:29 GMT 2008
Fernando Calatayud escribió:
> A la hora de sacar un campo en una vista, para leer los campos
> count_subtipo1, count_subtipo2, etc, puedo "componer" el nombre del
> campo mediante:
> eval("autor.count_subtipo#{@tema.subtipo_id}")
>
> Y eso me devuelve, para un tema del subtipo 7, el contenido del campo
> count_subtipo7 de ese autor, que es justo lo que quería.
>
> Pero esto que funciona para leer los campos, no funciona en el
> controlador para escribir:
>
> eval("@yo.count_subtipo#{@tema.subtipo_id}") += 1
> @yo.eval("count_subtipo#{@tema.subtipo_id}") += 1
>
> -> SyntaxError
>
> ¿Sabéis cual es la sintaxis para lo que quiero hacer?
>
Prueba esto:
eval("@yo.count_subtipo#{@tema.subtipo_id} += 1")
Si no tienes mucha práctica ten mucho cuidado con lo que le puede llegar
a eval, ya sabes lo que dicen con estas cosas: "un gran poder conlleva
una gran responsabilidad" ;)
--
Raul Murciano - Freelance Web Developer
http://raul.murciano.net
More information about the Ror-es
mailing list