Ruby on Rails - Estructura de directorios
Cuando utiliza el script auxiliar de Rails para crear su aplicación, crea la estructura de directorio completa para la aplicación. Rails sabe dónde encontrar las cosas que necesita dentro de esta estructura, por lo que no tiene que proporcionar ninguna entrada.
A continuación, se muestra una vista de nivel superior de un árbol de directorios creado por el script auxiliar en el momento de la creación de la aplicación. Excepto por cambios menores entre lanzamientos, todos los proyectos de Rails tendrán la misma estructura, con las mismas convenciones de nomenclatura. Esta consistencia le da una gran ventaja; puede moverse rápidamente entre proyectos de Rails sin volver a aprender la organización del proyecto.
Para comprender esta estructura de directorio, usemos el demoaplicación creada en el capítulo Instalación. Se puede crear usando un simple comando auxiliar.rails demo.
Ahora, vaya al directorio raíz de la aplicación de demostración de la siguiente manera:
tp> cd demo
demo> dir
Encontrará una estructura de directorios en Windows de la siguiente manera:
Ahora expliquemos el propósito de cada directorio.
app- Organiza los componentes de su aplicación. Tiene subdirectorios que contienen la vista (vistas y ayudantes), el controlador (controladores) y la lógica empresarial de backend (modelos).
app/controllers- El subdirectorio de controladores es donde Rails busca las clases de controladores. Un controlador maneja una solicitud web del usuario.
app/helpers- El subdirectorio de ayudantes contiene las clases de ayuda que se utilizan para ayudar a las clases de modelo, vista y controlador. Esto ayuda a mantener el código del modelo, la vista y el controlador pequeño, enfocado y ordenado.
app/models- El subdirectorio de modelos contiene las clases que modelan y envuelven los datos almacenados en la base de datos de nuestra aplicación. En la mayoría de los marcos, esta parte de la aplicación puede volverse bastante desordenada, tediosa, detallada y propensa a errores. ¡Rails lo hace muy simple!
app/view - El subdirectorio de vistas contiene las plantillas de visualización para completar con datos de nuestra aplicación, convertir a HTML y volver al navegador del usuario.
app/view/layouts- Contiene los archivos de plantilla para diseños que se utilizarán con vistas. Esto modela el método común de encabezado / pie de página para ajustar vistas. En sus vistas, defina un diseño usando el <tt> diseño: predeterminado </tt> y cree un archivo llamado default.html.erb. Dentro de default.html.erb, llame a <% yield%> para representar la vista usando este diseño.
components - Este directorio contiene componentes, pequeñas aplicaciones independientes que agrupan el modelo, la vista y el controlador.
config- Este directorio contiene la pequeña cantidad de código de configuración que necesitará su aplicación, incluida la configuración de su base de datos (en database.yml), la estructura de su entorno Rails (environment.rb) y el enrutamiento de las solicitudes web entrantes (routes.rb). También puede adaptar el comportamiento de los tres entornos Rails para pruebas, desarrollo e implementación con archivos que se encuentran en el directorio de entornos.
db- Por lo general, su aplicación Rails tendrá objetos modelo que acceden a tablas de bases de datos relacionales. Puede administrar la base de datos relacional con los scripts que cree y coloque en este directorio.
doc- Ruby tiene un marco, llamado RubyDoc, que puede generar automáticamente documentación para el código que cree. Puede ayudar a RubyDoc con comentarios en su código. Este directorio contiene todos los Rails generados por RubyDoc y la documentación de la aplicación.
lib - Colocará las bibliotecas aquí, a menos que pertenezcan explícitamente a otro lugar (como bibliotecas de proveedores).
log- Los registros de errores van aquí. Rails crea scripts que le ayudan a administrar varios registros de errores. Encontrará registros separados para el servidor (server.log) y cada entorno de Rails (development.log, test.log y production.log).
public - Al igual que el directorio público de un servidor web, este directorio tiene archivos web que no cambian, como archivos JavaScript (público / javascripts), gráficos (público / imágenes), hojas de estilo (público / hojas de estilo) y archivos HTML (público ).
script- Este directorio contiene scripts para iniciar y administrar las diversas herramientas que usará con Rails. Por ejemplo, existen scripts para generar código (generar) e iniciar el servidor web (servidor).
test- Las pruebas que escribes y las que crea Rails para ti, todo va aquí. Verá un subdirectorio para simulacros (simulacros), pruebas unitarias (unidad), accesorios (accesorios) y pruebas funcionales (funcionales).
tmp - Rails usa este directorio para almacenar archivos temporales para procesamiento intermedio.
vendor - Las bibliotecas proporcionadas por proveedores externos (como bibliotecas de seguridad o utilidades de bases de datos más allá de la distribución básica de Rails) van aquí.
Aparte de estos directorios, habrá dos archivos disponibles en el directorio de demostración.
README - Este archivo contiene un detalle básico sobre la aplicación Rail y una descripción de la estructura de directorios explicada anteriormente.
Rakefile- Este archivo es similar a Unix Makefile, que ayuda a construir, empaquetar y probar el código Rails. Esto será utilizado por la utilidad rake suministrada junto con la instalación de Ruby.