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.
Andres (Guest)
on 2007-03-28 16: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
Damian J. (Guest)
on 2007-03-28 16:38
(Received via mailing list)
On 3/28/07, Andres <removed_email_address@domain.invalid> 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])
Xavier N. (Guest)
on 2007-03-28 16: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
Imobach González Sosa (Guest)
on 2007-03-28 17:36
(Received via mailing list)
On Wednesday 28 March 2007 13:36:39 Damian J. 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.