Ruby on Rails - Marco
Un marco es un programa, conjunto de programas y / o biblioteca de código que escribe la mayor parte de su aplicación por usted. Cuando usa un marco, su trabajo es escribir las partes de la aplicación que hacen que haga las cosas específicas que desea.
Cuando se propone escribir una aplicación Rails, dejando de lado la configuración y otras tareas domésticas, debe realizar tres tareas principales:
Describe and model your application's domain- El dominio es el universo de su aplicación. El dominio puede ser una tienda de música, una universidad, un servicio de citas, una libreta de direcciones o un inventario de hardware. Así que aquí tienes que averiguar qué contiene, qué entidades existen en este universo y cómo se relacionan los elementos entre sí. Esto es equivalente a modelar una estructura de base de datos para mantener las entidades y su relación.
Specify what can happen in this domain- El modelo de dominio es estático; tienes que hacerlo dinámico. Las direcciones se pueden agregar a una libreta de direcciones. Las partituras musicales se pueden comprar en las tiendas de música. Los usuarios pueden iniciar sesión en un servicio de citas. Los estudiantes pueden inscribirse en clases en una universidad. Debes identificar todos los posibles escenarios o acciones en las que pueden participar los elementos de tu dominio.
Choose and design the publicly available views of the domain- En este punto, puede empezar a pensar en términos de navegador web. Una vez que haya decidido que su dominio tiene estudiantes y que pueden registrarse para las clases, puede visualizar una página de bienvenida, una página de registro y una página de confirmación, etc. Cada una de estas páginas, o vistas, muestra al usuario cómo funcionan las cosas pararse en cierto punto.
Basándose en las tres tareas anteriores, Ruby on Rails se ocupa de un marco de modelo / vista / controlador (MVC).
Marco MVC de Ruby on Rails
los Model Vver CEl principio de control divide el trabajo de una aplicación en tres subsistemas separados pero estrechamente cooperativos.
Modelo (ActiveRecord)
Mantiene la relación entre los objetos y la base de datos y maneja la validación, asociación, transacciones y más.
Este subsistema está implementado en la biblioteca ActiveRecord, que proporciona una interfaz y enlace entre las tablas en una base de datos relacional y el código del programa Ruby que manipula los registros de la base de datos. Los nombres de los métodos Ruby se generan automáticamente a partir de los nombres de campo de las tablas de la base de datos.
Ver (ActionView)
Es una presentación de datos en un formato particular, provocada por la decisión de un controlador de presentar los datos. Son sistemas de plantillas basados en scripts como JSP, ASP, PHP y muy fáciles de integrar con la tecnología AJAX.
Este subsistema se implementa en la biblioteca ActionView, que es un sistema basado en Embedded Ruby (ERb) para definir plantillas de presentación para la presentación de datos. Cada conexión web a una aplicación Rails da como resultado la visualización de una vista.
Controlador (ActionController)
La facilidad dentro de la aplicación que dirige el tráfico, por un lado, consultando los modelos en busca de datos específicos y, por otro lado, organizando esos datos (buscarlos, clasificarlos, enviarlos por mensajes) en una forma que se ajuste a las necesidades de una vista determinada.
Este subsistema se implementa en ActionController, que es un intermediario de datos que se encuentra entre ActiveRecord (la interfaz de la base de datos) y ActionView (el motor de presentación).
Representación pictórica del marco MVC
A continuación se muestra una representación pictórica de Ruby on Rails Framework:
Representación de directorio de MVC Framework
Suponiendo una instalación estándar y predeterminada sobre Linux, puede encontrarlos así:
tp> cd /usr/local/lib/ruby/gems/2.2.0/gems
tp> ls
Verá subdirectorios que incluyen (pero no se limitan a) los siguientes:
- actionpack-x.y.z
- activerecord-x.y.z
- rails-x.y.z
En una instalación de Windows, puede encontrarlos así:
tp>cd ruby\lib\ruby\gems\2.2.0\gems
ruby\lib\ruby\gems\2.2.0\gems\>dir
Verá subdirectorios que incluyen (pero no se limitan a) los siguientes:
ActionView y ActionController están agrupados en ActionPack.
ActiveRecord proporciona una variedad de técnicas de programación y atajos para manipular datos de una base de datos SQL. ActionController y ActionView proporcionan funciones para manipular y mostrar esos datos. Rails lo une todo.