Primera vista y controlador en Ruby on rails

Comenzar a programar en Ruby On Rails en Windows

Anteriormente vimos cómo instalar y configurar Ruby en Windows 10. Ahí instalamos todo lo necesario para instalar y compilar algunas gemas.

Aquí veremos cómo instalar la gema de rails para comenzar a programar en Ruby on rails en Windows 10. De todos modos, Ruby es un lenguaje de programación portable y puede ser llevado a otras plataformas; por lo que el código escrito en Windows es igualmente válido para otras plataformas como Linux.

Requisitos

Sólo necesitas tener bien instalado y configurado el lenguaje Ruby.

Con el instalador también se debió configurar sqlite3 como un ejecutable, compruébalo escribiendo lo siguiente en la terminal:

sqlite3 --version

Mientras muestre la versión, todo está bien. Ahora revisa la versión de ruby con:

ruby -v

Para instalar rails, necesitas la versión 2.2.2 o una más reciente.

Instalar la gema de rails

Llegó el momento de instalar rails para trabajar con Ruby on rails. Ejecuta el siguiente comando para instalar la gema:

gem install rails

En la imagen se aprecia la comprobación de las versiones de ruby y sqlite3, así como el comienzo de la instalación de rails:

Verificar versión de SQLite3 y ruby para instalar gema de rails
Verificar versión de SQLite3 y ruby para instalar gema de rails

Una vez que termine, ejecuta lo siguiente para comprobar que se ha instalado correctamente:

rails --version

En mi caso aparece Rails 5.2.2. Con eso tenemos por el momento (en tu caso puede aparecer otra versión, no importa mientras aparezca).

Hola, Ruby on Rails

Vamos a situarnos (en la terminal) en un directorio en donde quieres crear tu aplicación web. Ahí, ejecuta:

rails new ejemplo

Eso creará una carpeta llamada ejemplo, pero no será una simple carpeta, sino toda una aplicación web con una estructura funcional.

Cuando se acabe de crear el ejemplo, ingresa a la carpeta con cd ejemplo. Para “levantar” el servidor y tener un primer acercamiento, ejecuta el servidor con Ruby, así:

ruby bin\rails server

Lo que hacemos es que con ruby ejecutamos el binario llamado rails dentro de la carpeta bin, y le pasamos el argumento server.

Nota: si aparece un error de SQLite3 mira este post.

Ahora navega a localhost:3000 y verás la siguiente página:

Primera aplicación de ruby on rails
Primera aplicación de ruby on rails

Has creado tu primer aplicación web con rails. Para detener el servidor, vuelve a la consola y presiona Ctrl + C.

Controladores y vistas

Ahora vamos a crear un controlador, modificar el archivo de rutas y crear unas vistas. En la terminal, ejecuta:

ruby bin\rails generate controller Bienvenido index

No te confundas, de nuevo estamos ejecutando el ejecutable rails con ruby. Le estamos diciendo que por favor genere el controlador llamado Bienvenido, con la acción index, lo cual se parece mucho a los controladores de CodeIgniter.

Eso va a crear muchos archivos, pero los más importantes son:

  1. La vista, ubicada en app\views\bienvenido\index.html.erb
  2. El controlador, ubicado en app\controllers\bienvenido_controller.rb

Aparte de ellos, es importante el enrutador (ubicado en config\routes.rb), pues se encarga de manejar las rutas.

Vamos paso por paso… para crear un verdadero hola mundo, vamos a modificar la vista de modo que quede así:

<h1>Este es el controlador Bienvenido</h1>
<p>Puedo contener párrafos y otras cosas,
lo importante es que soy preprocesado, así que
puedo decirte cuánto es 5+5: <%= 5+5  %></p>
<h2>La fecha y hora es: <%= Time.now.strftime("%d/%m/%Y %H:%M") %></h2>
<p>Como soy HTML, puedo contener
cualquier etiqueta válida. Por cierto, no olvides
visitar <a href="https://parzibyte.me/blog" target="_blank">mi blog</a>

La vista es un archivo que es preprocesado, ya verás a lo que me refiero. La vista y el controlador ya están ligados, pero falta renderizar la vista al visitar una URL. Por ello configuramos a routes de la siguiente manera:

Rails.application.routes.draw do
  get 'bienvenido/index'
  root 'bienvenido#index'
end

El que comienza con get ya estaba, así, si visitábamos localhost:3000/bienvenido/index se renderizaba la vista y se ejecutaba el controlador, el cambio que hicimos fue agregar root, para indicar que el método por defecto es el index del controlador bienvenido.

Guardamos cambios y ejecutamos el servidor, de nuevo, con:

ruby bin\rails server

Ahora visitamos localhost:3000 y ahí está la magia, se ha renderizado nuestra vista pero antes se ha procesado con Ruby; es decir, todo el código Ruby se ha ejecutado y luego se ha convertido en HTML.

Primera vista y controlador en Ruby on rails
Primera vista y controlador en Ruby on rails

Siguientes pasos

Puedes crear más controladores con el mismo comando, especificando otro nombre. Para hacer cambios en las vistas no es necesario reiniciar el servidor, simplemente haz el cambio, guarda y refresca la página.

Los estilos y el JavaScript están en app\assets y son preprocesados con Coffescript y Sass. Cada archivo tiene el nombre del controlador. Por ejemplo, el de JavaScript está en app\assets\javascripts\bienvenido.coffee y el de los estilos en app\stylesheets\bienvenido.scss.

Cada que haces un cambio, se compilan los archivos y se inyectan automáticamente en el controlador.

Más adelante traeré alguna aplicación web sencilla pero completa para adentrarnos más en este mundo maravilloso de Ruby on rails.

Referencias

Me basé en esta página.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

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