Forum: Rails-ES Actualizando

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
209bd760c84a70fee997a96c0e3be0c9?d=identicon&s=25 Rolando Rolanghel (rolanghel)
on 2009-02-22 16:23
Hola, estoy intentando actualizar un valor de mi tabla.

@precio=Precio.find_by_sql("update precios set estado=1 where
id_prod=#{params[:producto]}")
@precio.save

pero me sale este error:

You have a nil object when you didn't expect it!
The error occurred while evaluating nil.all_hashes

¿Como puedo altualizar el estado de mi table precios.?
Ba6e83f1628194a060613026a33d8881?d=identicon&s=25 Isaac Feliu Pérez (Guest)
on 2009-02-22 16:39
(Received via mailing list)
Roland,

sin querer parecer pretencioso, creo que antes de intentar abordar
realizar una aplicación en Rails deberias leer algún libro sobre ello
o investigar algo más, pues creo que estás bastante liado. Te
recomiendo "The Rails Way" de Obie Fernandez.

Lo que estás intentando hacer en las dos lineas de código que pones en
este mensaje demuestran que no sabes bien que estás manejando:
Utilizas el método find_by_sql para realizar un update y luego
intentas hacer un save sobre el resultado.

Supongo que lo que intentas hacer aqui seria algo como:

Precio.find_by_id_prod(params[:producto]).update_attribute(:estado, 1)

o bien

@precio = Precio.find_by_id_prod(params[:producto])
@precio.update_attribute(:estado, 1)

o incluso:

@precio = Precio.find(:first, :conditions => { :id_prod =>
params[:producto] })
@precio.estado = 1
@precio.save

Todas estas formas de hacer las cosas se podrian considerar correctas,
y no porque yo haya nacido sabiendo rails, sino porque me he informado
antes. Créeme que es tiempo muy bien invertido, una vez aprendes las
cosas básicas de rails (y esta es una), te mueves con mucha más
soltura y vas mucho más rápido en desarrollar.

Pero son sólo mis 2 centimos claro.

Saludos,
--
Isaac Feliu
Adce10d7f1dbabcdab8f525a59cec32f?d=identicon&s=25 Andrés Gutiérrez (andresgutgon)
on 2009-02-22 19:18
(Received via mailing list)
Hace un par de semanas alguien de la lista me dio un buen tirón de
orejas
por meterme con los novatos que preguntan al tuntun (me lo merecía, y
siento
haberlo hecho). Esta vez no voy a decir nada. Simplemente doy un +1 a lo
que
ha dicho Isaac.
Yo tambien pienso que es importante aprender el ABC antes de comenzar un
proyecto

El 22 de febrero de 2009 16:38, Isaac Feliu Pérez
<isaac.feliu@gmail.com>escribió:
This topic is locked and can not be replied to.