Aprendiendo Ruby on Rails - Parte 2
Lección 2: Arquitectura MVC (Model-View-Controler) de Rails
Modelo Vista Controlador (MVC), es un patrón de arquitectura de software que separa los datos de la interfaz de usuario, y la lógica de control en tres componentes distintos.
El patrón MVC se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página, el modelo es el Sistema de Gestión de Base de Datos y la Lógica de negocio y el controlador es el responsable de recibir los eventos de entrada desde la vista.

Las piezas de la arquitectura Modelo Vista Controlador en Ruby on Rails son las siguientes:
Modelo
En las aplicaciones web orientadas a objetos sobre bases de datos, el Modelo consiste en las clases que representan a las tablas de la base de datos.
En Ruby on Rails, las clases del Modelo son gestionadas por ActiveRecord. Por lo general, lo único que tiene que hacer el programador es heredar de la clase ActiveRecord::Base, y el programa averiguará automáticamente qué tabla usar y qué columnas tiene.

Vista
En MVC, Vista es la lógica de visualización, o cómo se muestran los datos de las clases del Controlador. Con frecuencia en las aplicaciones web la vista consiste en una cantidad mínima de código incluido en HTML.
Existen en la actualidad muchas maneras de gestionar las vistas. El método que se emplea en Rails por defecto es usar Ruby Embebido (archivos.rhtml), que son básicamente fragmentos de código HTML con algo de código en Ruby, siguiendo una sintaxis similar a JSP. También pueden construirse vistas en HTML y XML con Builder o usando el sistema de plantillas Liquid.

Controlador
En MVC, las clases del Controlador responden a la interacción del usuario e invocan a la lógica de la aplicación, que a su vez manipula los datos de las clases del Modelo y muestra los resultados usando las Vistas. En las aplicaciones web basadas en MVC, los métodos del controlador son invocados por el usuario usando el navegador web.
La implementación del Controlador es manejada por el ActionPack de Rails, que contiene la clase ApplicationController. Una aplicación Rails simplemente hereda de esta clase y define las acciones necesarias como métodos, que pueden ser invocados desde la web, por lo general en la forma http://www.example.com/users/show/1, que invoca a UsersController#show, y presenta los datos usando el archivo de plantilla /app/views/ejemplo/show.rhtml, a no ser que el método redirija a algún otro lugar.



mercuriox dijo
Ok... ya estoy mentalizado en que al trabajar en la aplicación deberé conceptualizar 3 componentes,y a considerar que cuando se trate de la lógica del negocio heredar del ActiveRecord, cuando se trate de la lógica de visualización es cuando yo deberé utilizar el Ruby Embebido (u otro método para gestionar las vistas) y que cuando trate con la lógica de la aplicación, que es done se manipulan los datos del modelo y muestran los resultados usando las vistas, deberé heredar del AplicationController.
Ahora hacia donde....?
2 Agosto 2008 | 01:59 AM