Introducción a Rails

Creando la aplicación de Blog

Rails viene con un número de generadores que están diseñados para hacer tu ciclo de desarrollo más fácil. Uno de esos es el generador de nuevas aplicaciones, el cual te proveerá con la estructura base de una aplicación Rails, así ya no tienes que escribirla por ti mismo.

Para usar este generador, abre la terminal, navega hacia el directorio en donde tienes permiso para crear archivos, y escribe:

$ rails new blog

Esto creará una aplicación Rails llamada Blog en un directorio llamado blog e instalará las dependencias (gemas) que están mencionadas en el Gemfile usando el comando bundle install.

TIP: Puedes ver todas las opciones que el generador de nuevas aplicaciones provee, ejecutando rails new -h.

Después de crear la aplicación, ingresa a su directorio para continuar trabajando directamente en la aplicación:

$ cd blog

El comando rails new blog que acabamos de ejecutar, creó una carpeta en tu directorio de trabajo llamado blog. El directorio blog tiene un número de archivos auto generados y carpetas que conforman la estructura de una aplicación Rails. La mayoría del trabajo en este tutorial se llevará a cabo en la carpeta app/, pero acá hay una explicación básica de las funciones de cada archivo y carpetas que Rails creó por defecto:

Archivo/Carpeta Propósito
app/ Contiene los controllers, models, views, helpers, mailers y assets para tu aplicación. Te centrarás en esta carpeta por el resto de esta guía.
config/ Configura las reglas de ejecución de la aplicación, rutas, base de datos y más. Este tema es cubierto en mayor detalle en Configuring Rails Applications.
config.ru Configuración Rack para servidores basados en Rack usados para iniciar la aplicación.
db/ Contiene el esquema actual de tu base de datos, así como las migraciones de la base de datos.
doc/ Documentación detallada de tu aplicación.
Gemfile
Gemfile.lock
Estos arhivos te permiten especificar qué dependencias de gemas son necesitadas para tu aplicación Rails. Estos archivos son usados por la gema Bundler, ver Sitio web de Bundler.
lib/ Módulos extendidos para tu aplicación.
log/ Archivos de Log de tu aplicación.
public/ La única carpeta vista por el mundo tal como es. Contiene los archivos estáticos y assets compilados.
Rakefile Este archivo localiza y carga tareas que pueden ser ejecutadas desde la línea de comandos. La lista de tareas son definidas a través de los componentes de Rails. En vez de cambiar el Rakefile, deberías agregar tus propias tareas, añadiendo archivos al directorio lib/tasks de tu aplicación.
README.rdoc Este es un breve manual de instrucciones para tu aplicación. Deberías editar este archivo para comunicar a otros lo que tu aplicación hace, cómo configurala y demás.
script/ Contiene el script de Rails que inicia tu aplicación y contiene otros scripts usados para deployar o correr tu aplicación.
test/ Pruebas unitarias, fixtures y otras pruebas. Éstos son cubiertos en Testing Rails Applications.
tmp/ Archivos temporales (como archivos de caché, pid y archivos de sesiones).
vendor/ Lugar para código de terceros. En una típica aplicación Rails, ésta incluye librerías y plugins.