Hola, estoy teniendo un inconveniente con la siguiente validación en mi modelo "validates_uniqueness_of".
El problema se da al editar un registro, no al crearlo.
Supongamos que tenemos un campo "email" (unique) y "nombre". Si yo quiero editar el nombre, la validación no me lo permite, debido a que el mail es el mismo y lo toma como que ya existe.
Alguien sabe solucionarlo de forma elegante? o ya se arreglo en algún commit del Active Record?
Gracias.
Comentarios
<pre>class Localidades extends ActiveRecord{
public function initialize()
{
$this->validates_uniqueness_of('slug', 'message: Problemas con el slug, modifique el nombre de la localidad');
}
protected function before_validation_on_create()
{
$this->slug = // aqui genero el slug y se lo asigno al campo correspondiente
}
protected function before_validation_on_update()
{
$old = new self; // instancio este modelo
$old->find($this->id); // busco el registro original, antes de ser editado
// comparo el titulo actual con el anterior
if ($this->nombre != $old->nombre) {
$this->slug = // aqui genero el slug y se lo asigno al campo correspondiente
}
}
}
</pre>