Me alegro que al final hayas encontrado el problema.

Saludos.

On 15 abr, 22:43, "Miguel Michelsongs" <[EMAIL PROTECTED]>
wrote:
> Hola Julián , tienes razón , por desgracia asi es, casi todos los ejemplos
> que hay por ahi hacen las operaciones de modelo en el controlador, lo que no
> es una buena práctica en todos los casos. Ya que esto abulta, en código,
> nuestros controladores, siendo que estos solo deberían servir para pasar
> datos de nuestros modelos a las vistas.
>
> finalmente encontré el problema , estaba en que en que en la funcion
> beforeSave() del modelo no estaba devolviendo un valor true.
> y puse return true al final de la funcion y ahora funciona bien.
>
> function beforeSave(){
>
>     if (empty($this->id)){
>      //creando no actualizando
>    $this->make_activation_code();
>    $this->encrypt_password();
>
>     }else {
>
>    //actualizando
>     }
>     return true;
>
> }
>
> un saludo
>
> 2008/4/15 yuyul <[EMAIL PROTECTED]>:
>
>
>
>
>
> > En la mayoría de ejemplos que hay por ahi, siempre se hace en el
> > controlador.
>
> > On 15 abr, 21:20, "Miguel Michelsongs" <[EMAIL PROTECTED]>
> > wrote:
> > > Hola Julián!
>
> > > puede ser o que dices , pero considero buena práctica hacer esa
> > operación en
> > > el modelo.
>
> > > Saludos
>
> > > 2008/4/15 yuyul <[EMAIL PROTECTED]>:
>
> > > > Buenas, porque en lugar de utilizar la función en el modelo, lo haces
> > > > en el controlador.
>
> > > > On 15 abr, 20:43, "Miguel Michelsongs" <[EMAIL PROTECTED]>
> > > > wrote:
> > > > > Hola Bakers como estan
>
> > > > > al grano, tengo un problema con la generacion de un update desde el
> > > > modelo,
> > > > > no se que estoy haciendo mal, no me funciona, y cuando funciona me
> > > > genera
> > > > > otro registro no no me edita el que yo quiero
>
> > > > > tengo este metodo de modelo en el modelo User.php
>
> > > > > function activate($id){
>
> > > > >      $this->data['User']['id'] = $id;
> > > > >     $this->data['User']['activated_at'] = date('Y-m-d h:i:s');
> > > > >     $this->data['User']['activation_code'] = null;
> > > > >      $this->data['User']['active'] = 1;
> > > > >     $this->create();
> > > > >     return $this->save($this->data);
>
> > > > >   }
>
> > > > > mi idea es pasarle el id del registro para que se haga un update.,
> > pero
> > > > solo
> > > > > me crea un nuevo registro
>
> > > > > luego en el controller users tengo la siguiente accion
>
> > > > > function activate($id = null){
>
> > > > >             if($this->User->activate(852)){
> > > > >                 $this->Session->setFlash(__('usuario activado.',
> > true));
>
> > > > >                 }else{
> > > > >                  $this->Session->setFlash(__('no se activó.',
> > true));
>
> > > > >             }
>
> > > > >     }
>
> > > > > finalmente estoy intentando meter el valor de id en duro para ver si
> > > > pasa
> > > > > pero nada, detecté que el valor que envio al modelo llega
> > correctamente
> > > > a
> > > > > este, entonces no se cual puede ser el error, ademas en el caso de
> > que
> > > > saque
> > > > > la linea $this->create() en el metodo de modelo, la funcion nunca se
> > > > ejecuta
> > > > > correctamente , pero tampoco se hace el insert
>
> > > > > que puedo estar haciendo mal?
>
> > > > > gracias
>
> > > > > --
> > > > > Atte.
> > > > > Miguel Michelson Martinez
> > > > > ---------------------------------------
>
> > > --
> > > Atte.
> > > Miguel Michelson Martinez
> > > ---------------------------------------www.artenlinea.cl
>
> --
> Atte.
> Miguel Michelson Martinez
> ---------------------------------------www.artenlinea.cl
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a