La característica más destacable de un proyecto Rails es la división física de los archivos, para fortalecer la división de sus funciones siguiendo el patrón Modelo-Vista-Controlador. Veamos los directorios más empleados de los que componen esta estructura.
app
Esta carpeta contiene los archivos que forman el sitio, repartidos según sus características en los subdirectorios controllers, helpers, models y views.
- Models: la función principal de los modelos es la obtención de datos, almacenados en una base de datos, un fichero, etc., y de controlar la integridad de estos datos.
- Views: en una página web, las vistas son las distintas interfaces del usuario. A su vez, contiene una carpeta denominada Layout. Aquí, están unos ficheros que incluyen, básicamente, el apartado head de un archivo html. Después, por medio de bloques Ruby, se añade el cuerpo de las vistas para conformar el fichero completo.
- Controllers guarda los archivos correspondientes a los controladores del sistema. Su trabajo consiste en recibir eventos del usuario (envío de formulario, pulsación de un enlace), invocar al modelo para recuperar los datos que necesita, y trasladarlos a la vista, para que los muestre.
Cuando se definen las acciones de un controlador, se debe crear una vista para cada una de estas acciones. Cuando se invocan estos métodos, tras su ejecución, se muestra automáticamente la vista correspondiente al método ejecutado. A su vez, si es necesario, se puede crear un modelo para el controlador.
config
En esta carpeta, se almacenan los archivos de configuración del proyecto. Los archivos que nosotros solemos modificar son routes.rb y database.yml. En el primero, es posible modificar el controlador y su acción que se ejecutarán al acceder al sitio. En el otro, podemos modificar el nombre de la base de datos asociada al proyecto.
db
Principalmente, esta carpeta incluye las migraciones, es decir, los archivos de creacion y edición de la base de datos relacionada con el proyecto.
doc
Aquí se almacena la documentación del proyecto.
log
Los archivos guardados en este directorio son registros de la ejecución del sitio.
public
Este directorio tiene las imágenes que se muestran en las distintas vistas del proyecto, así como las hojas de estilo empleadas.
Etiquetas: Estructura, Rails