Jej. a mi también me molesta el inglés y castellano mezclados pero ya es un
código monstruoso y voy cambiando esas cosas de a poco. Fue un error en el
comienzo.

En http://gist.github.com/88038 -

el primer testeo falla si elimino la primer validación.
El segundo testeo es el que falla y por el que escribo.

-----
Dwayne Macgowan
www.dwayne.com.ar


2009/3/31 Nicolás Sanguinetti <[email protected]>

> 2009/3/31 Nelson Fernandez <[email protected]>:
> >
> >
> > 2009/3/30 dwayne <[email protected]>
> >>
> >> Estoy con un problemilla que seguro para alguno acá va a ser una gilada:
> >>
> >> Tengo el modelo Persona. No quiero exigir el DNI, pero si se repite el
> >> nombre completo de una persona entonces sí debe especificarse el DNI
> para
> >> diferenciar.
> >> Intenté lo siguiente pero no funciona.
> >>
> >> class Persona < ActiveRecord::Base
> >>
> >>   validates_uniqueness_of :dni, :allow_nil => true, :allow_blank=>true,
> >> :message=>I18n.t('persona.dni_already_exists')
> >>   validates_uniqueness_of :dni, :scope=>[:nombres, :apellidos],
> :allow_nil
> >> => true, :message=>I18n.t('persona.persona_already_exists')
> >>
> >> end
> >>
> >> Estoy cegado, debe ser fácil. ¿Alguien?
> >>
> >
> > no se si esto andará pero puede estar cerca...
> >
> > validates_presence_of :dni, :if => Proc.new {|p| !Persona.find(:select =>
> > '1', :conditions => ["(nombre = ?) and (apellido = ?)", p.nombre,
> > p.apellido]).blank? }
> >
>
> Hrm, debería andar (claro que sigo pensando que lo de Dwayne también
> :P) -- por otro lado, a ese código le cambiaría dos cosas. 1) El proc
> ese extraerlo a un metodo privado y revertiria la logica (:unless =>
> :name_is_unique?), y 2) Usaría self.class en lugar de Persona.
>
> Igual, me gustaría ver qué tests fallan con lo otro, capaz que así es
> más fácil darse cuenta qué está mal :)
>
> -f
>
> > :: nelson ::
> > artesano de software / software craftsman
> > http://netflux.com.ar
> >
> > _______________________________________________
> > Ruby mailing list
> > [email protected]
> > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
> >
> >
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a