Problemas con validates_uniqueness_of al editar

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

  • Listo, no era nada, de todos modos les cuento.

    Tengo una tabla "localidades" con los siguientes campos "id", "nombre", "slug (unique)". Cuando se crea un registro, el campo "slug" se genera en base al campo "titulo", es decir, si el título cambia al editar, slug pasaría a tener otro valor.

    Cualquier otra sugerencia será bienvenida.

    Les muestro como quedó mi modelo:


    <pre>class Localidades extends ActiveRecord{

    public function initialize()
    {
    $this-&gt;validates_uniqueness_of('slug', 'message: Problemas con el slug, modifique el nombre de la localidad');
    }

    protected function before_validation_on_create()
    {
    $this-&gt;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-&gt;find($this-&gt;id); // busco el registro original, antes de ser editado

    // comparo el titulo actual con el anterior
    if ($this-&gt;nombre != $old-&gt;nombre) {
    $this-&gt;slug = // aqui genero el slug y se lo asigno al campo correspondiente
    }
    }


    }
    </pre>
Sign In or Register to comment.