El 25/10/2007, a las 5:22, mbavio escribió:

> Perdon por mi extrema idiotez, pero sigo sin cazarla del todo...
> Entiendo el concepto, pero no entiendo como aplicarlo... Me podrias
> dar un ejemplo tonto pero entendible para que me termine de cerrar?
> Perdon, pero creo que es lo mas dificil, esto de aprender a pensar
> distinto...

Yo tampoco lo veo del todo claro, pero lo que hago para darle "peso"  
al modelo es más o menos así:

Supongamos el típico ejemplo de Blog (con sus Post y demás).

Ahora supongamos que en el modelo tengo un campo "publicar" que me  
indica si un Post está publicado (1) o en borrador (2). Y, por otro  
lado, quiero poder controlar eso a través de un botón de la interfaz  
que apunte a /posts/publicar/id o /post/borrador/id.

Bueno, pues lo que haría sería crear métodos en el modelo que, tal  
que así (simplificando mucho y a lo mejor ni siquiera es esta la  
mejor manera):

class Post extends AppModel {
   ... código ...

   function publicar ($id) {
        $this->id = $id;
        $this->saveField('publicar', 1);
   }

   function borrador ($id) {
        $this->id = $id;
        $this->saveField('publicar', 0);
   }
}


Por su parte, en el controlador tendría que poner una acción o  
acciones que se encargaran de responder a la petición del usuario:

class PostsController extends AppController {
   ... código ...

   function publicar ($id) {
        $this->Post->publicar($id);
        }

   function borrador ($id) {
        $this->Post->borrador($id);
        }
}

Bueno, más o menos así. La idea es que el controlador "no sepa" nada  
acerca de cómo funciona el modelo. Simplemente se limita a recibir lo  
que el usuario le indica (ejecutar una acción) y la acción llama a  
métodos del modelo que realizan lo necesario con los datos para esa  
acción y luego pedir que se muestre la vista que sea adecuada (por  
ejemplo, un mensaje informando de que sea ha cambiado el estado de  
ese Post o actualizando un listado).

El ejemplo es muy simple, pero quizá ilustre la idea.
--
Fran Iglesias
[EMAIL PROTECTED]




--~--~---------~--~----~------------~-------~--~----~
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 CakePHP-es@googlegroups.com
 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