Todavía estoy algo confundido por cómo se supone que MVC funciona.Real World MVC - Tratando con formas
Digamos que tengo un sitio web que vende widgets. Tengo una página de listado, /widgets/list
y una página de producto /widgets/product/123
.
Ambos pueden usar el controlador widget
y llamar a los métodos list
y product
- lo suficientemente simple hasta el momento. Digamos que también tengo varios otros controladores para varias cosas.
Ahora agrego un cuadro de registro de boletín en mi encabezado, es decir, en cada página del sitio. ¿Cómo va a funcionar esto? Me da la idea de que debe enviarse al /newsletter/signup
Pero, ¿qué sucede si hay un error (digamos que no completó su dirección de correo electrónico correctamente)? Debería mostrar la página en la que estaba (por ejemplo, /widgets/list
), pero el controlador newsletter
debe ejecutarse. El controlador widget
no conoce el controlador newsletter
por lo que no puedo poner el código allí ... ¿Cómo se supone que funciona?
Editar: No AJAX por favor - Puedo entender eso más fácilmente. Considere esto como la alternativa cuando javascript está deshabilitado.
Edición 2: ejemplos o tutoriales que cubren este tipo de cosas se agradecería mucho
Datos 3: ¿Es permisible para el fin de llamar a una acción? Por ejemplo, el encabezado podría llamar a Newsletter->index()
Si tengo un sitio web existente con 10 controladores, cada uno con 5 acciones, ¿no significa que tendría que editar 50 funciones si agregué un registro en el encabezado? – Greg
Bueno, esa sería la excepción en la que se publica en una página separada. La mayoría de los formularios no aparecen en varias páginas, solo cosas como boletines informativos, inicio de sesión y tal vez registro. En general, lo anterior es bastante efectivo. – ryeguy