Parametro.update(16, {:valor => :valor + 1 })


#1

Hola Muchachos, tengo un problema, por favor me ayudan.

necesito actualizar un modelo, el cual tiene un campo el cual debo
incrementar en 1 la hago asi y no me funciona

Parametro.update(16, {:valor => :valor + 1 }) y asi tampoco

Parametro.update(16, {:valor => ‘:valor + 1’ })

gracias


#2

William B. wrote:

Hola Muchachos, tengo un problema, por favor me ayudan.

necesito actualizar un modelo, el cual tiene un campo el cual debo
incrementar en 1 la hago asi y no me funciona

Parametro.update(16, {:valor => :valor + 1 }) y asi tampoco

Parametro.update(16, {:valor => ‘:valor + 1’ })

gracias

Yo mismo me respondo:

@parametro = Parametro.find(:first, :conditions => [ “id = 16”])
@parametro.update_attribute(:valor, @parametro.valor + 1)

si hay otra forma de hacerlo mejor me comentan, gracias.

lo que quiero es actualizar el valor de un modelo, incrementando el
valor en 1, y no puede ser un campo auto_increment, ya que ese valor es
variable y no inicia en 1.

gracias


#3

William B. wrote:
[…]
Yo mismo me respondo:

@parametro = Parametro.find(:first, :conditions => [ “id = 16”])
@parametro.update_attribute(:valor, @parametro.valor + 1)

si hay otra forma de hacerlo mejor me comentan, gracias.

@parametro = Parametro.find(16)
@parametro.increment!(:valor)

Este está mejor porque si fuese null (nil) increment lo pone a 1.


#4

unknown wrote:

William B. wrote:
[…]
Yo mismo me respondo:

@parametro = Parametro.find(:first, :conditions => [ “id = 16”])
@parametro.update_attribute(:valor, @parametro.valor + 1)

si hay otra forma de hacerlo mejor me comentan, gracias.

@parametro = Parametro.find(16)
@parametro.increment!(:valor)

Este est� mejor porque si fuese null (nil) increment lo pone a 1.

Que bien, si es mejor, ya reemplace mi codigo. Gracias