Forum: Rails-ES como actualizar un campo concreto de un registro...

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.
04419aafce908974edc7554dad715184?d=identicon&s=25 Andres (Guest)
on 2007-03-28 14:08
este es el codigo q he visto por hay pero no se si se hace de otra
manera:

estado = Estadosincidencia.find_by_sql ["Select * from
estadosincidencias where fechafin is null and incidencia_id = ?",
session[:incidencia_id]]
registro = estado[0]
registro.fechafin = params[:seguimientos][:fechainicio]
registro.save
Ffd012d72e7f61639724878825ed25a3?d=identicon&s=25 Damian Janowski (djanowski)
on 2007-03-28 14:38
(Received via mailing list)
On 3/28/07, Andres <ruby-forum-incoming@andreas-s.net> wrote:
> este es el codigo q he visto por hay pero no se si se hace de otra
> manera:
>
> estado = Estadosincidencia.find_by_sql ["Select * from
> estadosincidencias where fechafin is null and incidencia_id = ?",
> session[:incidencia_id]]
> registro = estado[0]
> registro.fechafin = params[:seguimientos][:fechainicio]
> registro.save

estado = EstadosIncidencia.find(:first, :conditions => ['fechafin IS
NULL AND incidencia_id = ?', session[:incidencia_id]])

estado.update_attributes(:fechafin =>
params[:seguimientos][:fechainicio])
7223c62b7310e164eb79c740188abbda?d=identicon&s=25 Xavier Noria (Guest)
on 2007-03-28 14:56
(Received via mailing list)
On Mar 28, 2007, at 2:08 PM, Andres wrote:

> este es el codigo q he visto por hay pero no se si se hace de otra
> manera:
>
> estado = Estadosincidencia.find_by_sql ["Select * from
> estadosincidencias where fechafin is null and incidencia_id = ?",

Podria escribirse asi:

   incidencia = Incidencia.find(incidencia_id)
   estados    = incidencia.estados.find_all_by_fechafin(nil)

O, como estamos en un controlador, incluso mejor se añadiria un
metodo en estadosincidencia.rb

   def sin_fecha_fin
     find_all_by_fechafin(nil)
   end

para que quedara mas legible:

   incidencia = Incidencia.find(incidencia_id)
   estados    = incidencia.estados.sin_fecha_fin

-- fxn
A6344ef7ef1e33e8efb34d99e6124490?d=identicon&s=25 Imobach González Sosa (Guest)
on 2007-03-28 15:36
(Received via mailing list)
On Wednesday 28 March 2007 13:36:39 Damian Janowski wrote:

> estado = EstadosIncidencia.find(:first, :conditions => ['fechafin IS
> NULL AND incidencia_id = ?', session[:incidencia_id]])
>
> estado.update_attributes(:fechafin => params[:seguimientos][:fechainicio])

Esta forma tampoco es incorrecta:

registro.fechafin = params[:seguimientos][:fechainicio]
registro.save

Saludos.

--
Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: http://www.banot.net/~osoh/
blog: http://devnull.blogs.banot.net/
This topic is locked and can not be replied to.