Como Crear Un CRUD Con Ruby on Rails 7 – Parte 1
En esta página:
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
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:
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:
1 2 3 4 5 6 7 8 9 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
/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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
/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:
1 2 3 4 |
# Gema sassc-rails gem 'sassc-rails', '~> 2.1', '>= 2.1.2' |
Ejecuta el siguiente comando para instalar la gema sassc-rails:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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:
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
/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:
1 2 3 4 |
# Gema de Bootstrap gem 'bootstrap', '~> 5.3', '>= 5.3.2' |
Paso seguido ejecuto el siguiente comando para instalarla:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
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.
- Ruby on Rails
- 18-01-2024
- 27-01-2024
- Crear un Post - Eventos Devs - Foro
Social
Redes Sociales (Developers)
Redes Sociales (Digital)