Categorías
Desarrollo Ruby on Rails

Aventuras sobre rieles – Parte 3

Iniciar la aplicación que acabamos de crear es muy sencillo, basta pararse en la raíz del proyecto y utilizar la utilidad de línea de comandos rails:

$ rails server

Tomará un par de segundos, pero luego nos indicará que podemos acceder desde localhost:3000 para contemplar nuestra obra… simple, y algo estática para tanto código y proceso, pero después de todo así son los esqueletos:

El comando dispara Puma, el webserver que rails trae incorporado. Para detenerlo debe presionarse la combinación CTRL-C.

Vamonos!

Vamos a empezar a andar, lentamente, algo del camino. Para ello necesitamos crear un controlador y una vista. El controlador, más específicamente una de sus acciones, será el encargado de recibir y procesar las peticiones, para luego valerse de la vista y mostrar esa información al cliente. A cada una de esas acciones se llega mediante algo conocido como rutas. Pero ya lo vamos a ir viendo. Por lo pronto, vamos a crear el controlador Welcome con una acción llamada index. Siempre desde la raíz del proyecto:

$ rails generate controller Welcome index

Esto generará algunos archivos, pero los más importantes son:

/app/controllers/welcome_controller.rb
/app/views/welcome/index.html.erb

Por defecto, y sin que debamos hacer nada, ya podemos acceder a la nueva vista desde localhost:3000/welcome/index, es decir: [controlador]/[acción].

Bien, pero ahora hagamos otra cosa, para que la aplicación sea completamente nuestra, vamos a cambiar el código de index.html.erb por:

<h1>Aventuras sobre rieles</h1>

Eso fué sencillo! Pero además le diremos a rails que queremos que esta sea la acción por defecto al ingresar a la aplicación. Esto lo hacemos editando /config/routes.rb, un archivo que fue modificado por el comando rails al crear el controlador. En este momento se ve así:

Rails.application.routes.draw do
  get 'welcome/index'
end

Lo que indica que una petición de tipo GET debe redirigirse a la acción index del controlador welcome (convención por sobre configutación). Esa línea puede repetirse de tres formas idénticas:

get 'welcome/index'
get 'welcome/index', to: 'welcome#index'
get 'welcome/index', action: :index, controller: 'welcome'

Debajo de esa línea agregaremos la siguiente:

root 'welcome#index'

El método root indica la ruta raíz, es decir ‘/’. El string es el método rails de escribir una ruta: controlador#index. La diferencia entre ‘welcome/index’ y ‘welcome#index’ es que la primera es una url y la segunda una ruta.

Con esto último localhost:3000 nos mostrará la vista index de welcome.

Si ejecutamos en la consola:

$ rails routes

Podremos ver todas las rutas configuradas hasta el momento. Por supuesto, sólo una es de nuestra autoría, el resto ya venían con el esqueleto.

Y hasta aquí con el artículo, sólo un pequeño arranque. La siguiente será iniciar la creación de artículos (recordemos que el proyecto se llama blog).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *