Como Crear Un CRUD Con Ruby on Rails 7 – Parte 1

Demo

Si en algún momento tienes planeado crear un proyecto con el framework Ruby on Rails y una base de datos, la mejor manera de aprender el proceso, es desarrollando un sistema CRUD.

Un sistema CRUD (Create, Read, Update y Delete) realiza las 4 operaciones básicas que toda aplicación o software realiza, es decir Crear, Leer, Actualizar y Eliminar.

Acompáñame en esta nueva aventura en donde te enseñaré a Como Crear Un CRUD Con Ruby on Rails 7, vamos con ello.

Partes

Sistema creado con Ruby on Rails que realiza operaciones CRUD
Ruby on Rails cuenta con métodos y opciones que permiten la creación de un software de manera profesional

Para seguir este tutorial debes de tener instalado el lenguaje de programación Ruby, si no lo tienes instalado, ve a este enlace para descargar Ruby e instalalo.

Normalmente la misma página te recomienda la versión que debes descargar y la que es ideal para tu sistema operativo.

Yo estoy usando Windows 10 de 64 bytes para este tutorial y por ende me recomienda que descargue la siguiente versión de Ruby:

Página de descarga del lenguaje de programación Ruby
Esta es la página de Ruby para usuarios de Windows

Ahora pasemos a instalar Ruby on Rails.

Instalación de Ruby on Rails

En mi caso tuve ejecutar Git Bash como administrador en Windows 10, para poder instalar Ruby on Rail, ya que me daba un error y no me dejaba instalarlo.

Entonces instalo Ruby on Rails ejecutando el siguiente comando en mi consola de comandos:

gem install rails

Successfully installed rails-7.1.3
Parsing documentation for rails-7.1.3
Installing ri documentation for rails-7.1.3
Done installing documentation for rails after 0 seconds
1 gem installed

Hasta aquí, ya tengo Instalado el Lenguaje de Programación Ruby y el Framework Ruby on Rails.

Creación de Nuevo Proyecto en Ruby on Rails

Crea una carpeta o directorio para mantener un orden y allí crear el proyecto para el sistema CRUD.

Para crear un nuevo proyecto en Ruby on Rails 7, ejecutamos el siguiente comando en nuestra consola de comandos:

rails new crud-rails-7

      create
      create  README.md
      create  Rakefile
      create  .ruby-version
      create  config.ru
      create  .gitignore
      create  .gitattributes
      create  Gemfile
         run  git init from "."
Initialized empty Git repository in C:/xampp/htdocs/xampp/nc/tutoriales/blog/crud-rails-7/.git/
      create  app
      create  app/assets/config/manifest.js
      create  app/assets/stylesheets/application.css
      create  app/channels/application_cable/channel.rb
...
...
...
... ( Continua la creación del proyecto )
...
...
...
Using puma 6.4.2
Using rails 7.1.3
Using rexml 3.2.6
Using rubyzip 2.3.2
Using websocket 1.2.10
Using selenium-webdriver 4.17.0
Using sprockets 4.2.1
Using sprockets-rails 3.4.2
Using sqlite3 1.7.0 (x64-mingw-ucrt)
Using stimulus-rails 1.3.3
Using turbo-rails 1.5.0
Using tzinfo-data 1.2023.4
Using web-console 4.2.1
Bundle complete! 14 Gemfile dependencies, 83 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Run turbo:install:redis to switch on Redis and use it in development for turbo streams

A mi proyecto le he puesto de nombre crud-rails-7, tu le puedes poner el nombre que desees a tu proyecto.

Luego de crear el nuevo proyecto se me ha creado un directorio llamado crud-rails-7 y en su interior un conjunto de archivos y directorios que son parte del core del Framework Ruby on Rails 7:

/crud-rails-7 
├── /app  
├── /bin
├── /config
├── /db
├── /lib
├── /log
├── /public
├── /storage
├── /test
├── /tmp
├── /vendor
├── .dockerignore
├── .gitattributes
├── .gitignore
├── .ruby-version
├── config.ru
├── Dockerfile
├── Gemfile
├── Gemfile.lock
├── Rakefile
├── README.md

Algo ha considerar es que en algún momento te puede saltar un error acerca de que debes instalar la gema sassc-rails.

La puedes instalar agregandola al archivo Gemfile de Ruby on Rails.

El archivo Gemfile se encuentra en el directorio principal del proyecto, es decir en crud-rails-7 > Gemfile:

/crud-rails-7 
├── /app  
├── /bin
├── /config
├── /db
├── /lib
├── /log
├── /public
├── /storage
├── /test
├── /tmp
├── /vendor
├── .dockerignore
├── .gitattributes
├── .gitignore
├── .ruby-version
├── config.ru
├── Dockerfile
├── Gemfile // Este archivo 
├── Gemfile.lock
├── Rakefile
├── README.md

Abre el archivo Gemfile y agrega la gema sassc-rails:

# Gema sassc-rails 
gem 'sassc-rails', '~> 2.1', '>= 2.1.2'

Ejecuta el siguiente comando para instalar la gema sassc-rails:

bundle install

Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Using rake 13.1.0
Using base64 0.2.0
Using bigdecimal 3.1.6
Using concurrent-ruby 1.2.3
... 
... 
(Continua el proceso de instalación) 
...
...
Using actionmailbox 7.1.3
Using actiontext 7.1.3
Using sassc-rails 2.1.2
Using rails 7.1.3
Bundle complete! 16 Gemfile dependencies, 91 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

Ahora vamos a probar el proyecto que hemos creado con Ruby on Rails 7.

Probando el Proyecto

Para verificar que el proyecto se ha creado correctamente vamos a iniciar el servidor local de desarrollo de Ruby on Rails 7.

Ingresamos al directorio del proyecto y luego iniciamos el servidor de Ruby on Rails 7:

# Ingresamos al directorio del proyecto 
cd crud-rails-7 

# Iniciamos el servidor de Ruby on Rails 7 
rails server

=> Booting Puma
=> Rails 7.1.3 application starting in development
=> Run `bin/rails server --help` for more startup options
*** SIGUSR2 not implemented, signal based restart unavailable!
*** SIGUSR1 not implemented, signal based restart unavailable!
*** SIGHUP not implemented, signal based logs reopening unavailable!
Puma starting in single mode...
* Puma version: 6.4.2 (ruby 3.2.2-p53) ("The Eagle of Durango")
*  Min threads: 5
*  Max threads: 5
*  Environment: development
*          PID: 6452
* Listening on http://[::1]:3000
* Listening on http://127.0.0.1:3000
Use Ctrl-C to stop

El servidor arranca sin problemas, me dice en la consola de comandos que la rutal local en donde se esta ejecutando mi proyecto es en http://localhost:3000/ entonces ingreso a esa dirección con el puerto 3000 usando el navegador y me aparece la aplicación inicial que Ruby on Rails me crea por defecto:

Proyecto creado con Ruby on Rails 7
Hasta la fecha de este tutorial la versión actual es Ruby on Rails 7.1.3

Con ello entonces verificamos que el proyecto con Ruby on Rails 7 se ha creado correctamente, asimismo verificamos que Ruby on Rails y Ruby se han instalado correctamente.

Si al ejecutar el servidor de Ruby on Rail te aparece algún error, eso ya escapa de mi.

Instalación de Bootstrap

Para diseñar las vistas HTML usaré el framework Bootstrap, de esta manera solo me enfoco en la lógica del proyecto.

Una forma de usar Bootstrap en Ruby on Rails es añadiendo la gema Bootstrap al archivo Gemfile de Ruby on Rails.

Este archivo Gemfile se encuentra en el directorio principal del proyecto, es decir en crud-rails-7 > Gemfile:

/crud-rails-7 
├── /app  
├── /bin
├── /config
├── /db
├── /lib
├── /log
├── /public
├── /storage
├── /test
├── /tmp
├── /vendor
├── .dockerignore
├── .gitattributes
├── .gitignore
├── .ruby-version
├── config.ru
├── Dockerfile
├── Gemfile // Este archivo 
├── Gemfile.lock
├── Rakefile
├── README.md

Abro el archivo Gemfile y le agreg la gema o dependencia Bootstrap:

# Gema de Bootstrap
gem 'bootstrap', '~> 5.3', '>= 5.3.2'

Paso seguido ejecuto el siguiente comando para instalarla:

bundle install

Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Using rake 13.1.0
Using base64 0.2.0
Using bigdecimal 3.1.6
Using concurrent-ruby 1.2.3
Using connection_pool 2.4.1
Using ruby2_keywords 0.0.5
Using minitest 5.21.2
Using mutex_m 0.2.0
Using builder 3.2.4
Using erubi 1.12.0
Using racc 1.7.3
Using crass 1.0.6 
...
... (Continua el proceso de instalación) 
...
Using bootstrap 5.3.2
Using capybara 3.39.2
Using activerecord 7.1.3
Using irb 1.11.1
Using rails-html-sanitizer 1.6.0
Using net-imap 0.4.9.1
Using net-pop 0.1.2
Using net-smtp 0.4.0.1
Using selenium-webdriver 4.17.0
Using debug 1.9.1
Using actionview 7.1.3
Using mail 2.8.1
Using actionpack 7.1.3
Using jbuilder 2.11.5
Using actioncable 7.1.3
Using activestorage 7.1.3
Using actionmailer 7.1.3
Using railties 7.1.3
Using sprockets-rails 3.4.2
Using actionmailbox 7.1.3
Using actiontext 7.1.3
Using importmap-rails 2.0.1
Using stimulus-rails 1.3.3
Using turbo-rails 1.5.0
Using web-console 4.2.1
Using rails 7.1.3
Bundle complete! 15 Gemfile dependencies, 87 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

Hasta aquí ya tengo instalado Ruby on Rails 7 y Bootstrap, hemo dejado todo listo para iniciar la creación de mi Sistema CRUD.

Ten Paciencia, lo que quiero es que entiendas todo el proceso para Crear este Proyecto y no llenarte el capitulo de mucho contenido porque te puedes marear y no tendrás un óptimo aprendizaje.

Nota (s)

  • Los Pasos y opciones mencionadas en este capitulo del tutorial pueden cambiar, esto no depende de nosotros, si no de las empresas que dan soporte a estas herramientas como Ruby, Ruby on Rails y Bootstrap, que suelen cambiar sus opciones de despliegue y configuración en futuras versiones.
  • En el siguiente capitulo continuare con la configuración de la Base de Datos, migraciones y demás aspectos.

 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.