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
