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:
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:
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:
- La vista, ubicada en
app\views\bienvenido\index.html.erb
- 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.
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.