separación de responsabilidades en la aplicación. Menos código repetido al aprovechar el encapsulamiento. Más fácil de mantener a largo plazo. Imaginemos un restaurante…
el chef. Prepara las órdenes con los ingredientes de la cocina (base de datos). El Controlador es el mesero. Toma las órdenes y las lleva al chef. Por ejemplo, ver todas las recetas. La Vista es el plato. Lo que el usuario ve al final. Después de toda la preparación incluyendo la presentación de la comida.
receta responsabilidades en la aplicación. El controlador pide al modelo buscar una receta. Sólo el modelo sabe cómo buscarla. El controlador pide a la vista que pinte esa receta. Sólo la vista sabe como representar la receta
es el encargado de orquestar el flujo de la app. ¿El usuario está autenticado? (¿Quién es el usuario?) ¿El usuario está autorizado? (¿Puede hacer algo?) Pide información al modelo. Envía esta información a las vistas.
generate scaffold idea name:string description:text En Rails se tiene el concepto de “generadores”. Pequeños programas que generan código para no tener que escribirlo a mano. Scaffold crea muchos archivos. Es muy útil para iniciar un proyecto o probar una idea rápidamente.