E intento actualizar ese array entero. @content.update_attributes( :op => ‘0’)
Si la consulta q hago sale sólo una fila o le pongo el first en vez de
all me funciona correctamente. Pero me da el error cuando intento
actualizar un grupo de filas.
Hola Ramón, creo que el error esta mas claro que el agua bendita ;), te
indica que el objeto no soporta el metodo ‘update_attribute’, y claro
que no
lo soporta por que es un Array y no una instancia de ActiveRecord, ya
que la
consulta que has hecho te esta devolviendo un conjunto de registros,
creo
que lo puedes solucionar asi:
@content.each {|c| c.update_attribute ‘op’,0}
update_attributes tambien existe, y recibe un Hash con los nombres y
valores
de los campos a actualizar, tambien se diferencia del anterior en que
este
ejecuta la validacion, osea si el valor del atributo que actualizas
rompe la
validacion, el registro no se actualiza
Otro punto importante, acostumbrate siempre a usar ‘place holders’ en
tus
consultas para evitar ataques del tipo ‘sql injection’, osea tu consulta
la
podrias hacer asi: