Está bien que no te deje grabar ninguna, en el codigo dice:

def expirado?
   saraza.valido_hasta < Time.now
 end

entiendo que saraza es un modelo_b y la expiración del modelo_a depende de
la fecha del modelo_b. Todas las instancias que quieras agregar/modificar
al/del  modelo_b van a considerarse expiradas porque se lo preguntan al
modelo_b. No se si comprendí bien el planteo.
La expiración de A depende de la fecha de B, no? Talvez tengas que
considerar validar solo en un update.


On Tue, Apr 13, 2010 at 7:19 PM, Mariano Ayesa <[email protected]> wrote:

> Que tal?
>
> Estoy teniendo un inconveniente, para realizar una validacion.. y no
> entiendo por que..
>
> La cosa viene mas o menos asi..
>
> Quiero validar que no se pueda grabar mi modelo A, si ya expiró.
>
> ModeloA {
>  belongs_to :saraza
>
>  validate :no_expirado
>
>  def no_expirado
>    errors.add_to_base("Este modelo no puede ser cambiado.") if expirado?
>  end
>
>  def expirado?
>    saraza.valido_hasta < Time.now
>  end
> }
>
> ModeloB {
>  has_many  :modelos_a
>  accepts_nested_attributes_for :modelos_a
> }
>
> Luego desde el controller..
>
> if @modelo_b.update_attributes(params[:modelo_b])
> blabla
>
> Esto funciona perfecto, excepto que cuando meto la validacion.. si
> hago expirar una instancia de modelo_a, no me deja grabar todas las
> demás instancias de modelo_a asociadas a modelo_b..
>
> Alguna punta?
>
> Saludos,
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>



-- 
-------------------------------
Juan Matías Repetti
Web Developer
--------------------------------
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a