After_save, leer el parámetro antes de grabar

Cómo puedo leer en el modelo el parámetro que le llega antes de grabar?
Quiero ponerle un valor en el caso de que llegue vacío, pero no se cómo
leerlo, seguro que es fácil pero lo desconozco, alguna ayudita? gracias
def after_save
if valor.empty?
self.valor="-"
end
end

On Dec 18, 2007 7:31 AM, Miguel Angel Calleja Lázaro [email protected]
wrote:

Cómo puedo leer en el modelo el parámetro que le llega antes de grabar?
Quiero ponerle un valor en el caso de que llegue vacío, pero no se cómo
leerlo, seguro que es fácil pero lo desconozco, alguna ayudita? gracias
def after_save
if valor.empty?
self.valor="-"
end
end

Se lo pasas como un bloque al modelo, por ejemplo este es una parte de
codigo que utilizo en una aplicacion:

before_validation do |concept|
concept.amount = nil if concept.income.to_f.zero? and
concept.outcome.to_f.zero?
end

Saludos!

No se si procede para este caso, pero visto que se juega con valores
NULL. y
que el filtro no hace nada más, tal vez sería más fácil usar el :default
de
la columna. Automáticamente si se pasa un NULL a la base da datos, esta
rellenará con el valor default.

Esto si es el funcionamiento que se quiere siempre, creo yo, que sería
la
forma más elegante de hacerlo.

Un Saludo.