Tutorial Paso a Paso para Crear un Blog con Ruby on Rails desde Cero

Tutorial Paso a Paso para Crear un Blog con Ruby on Rails desde Cero

Tutorial Completo para Crear una Aplicación de Blog con Ruby on Rails

Introducción

En este tutorial, orientado a desarrolladores principiantes e intermedios, aprenderás a crear una aplicación de blog con Ruby on Rails desde cero. Cubriremos desde la configuración del entorno, generación del proyecto, hasta la implementación completa de funcionalidades CRUD para manejar publicaciones, manejo de rutas, validación de datos y diseño básico con Bootstrap.

Este tutorial es ideal para quienes quieran iniciarse en el desarrollo web con Ruby y la programación backend en Rails, permitiendo construir una aplicación funcional y escalable.


Índice

  1. Configuración del Entorno
  2. Creación del Proyecto Rails
  3. Generación del Modelo Post
  4. Controladores y Vistas para Publicaciones
  5. Implementación de Funcionalidades CRUD
  6. Manejo de Rutas
  7. Validación de Datos
  8. Diseño Básico con Bootstrap
  9. Conclusión y Buenas Prácticas

Configuración del Entorno

Para desarrollar con Ruby on Rails, primero necesitas instalar las siguientes tecnologías:

  • Ruby (versión recomendada >= 3.0)
  • SQLite3 (base de datos por defecto para desarrollo)
  • Node.js y Yarn (para manejar dependencias JS)
  • Rails (framework Rails)

Paso 1: Instalar Ruby

Recomendamos utilizar un gestor de versiones como RVM o rbenv. Por ejemplo, con RVM:

Paso 2: Instalar Node.js y Yarn

Para manejar JavaScript y paquetes necesarios para Rails:

Paso 3: Instalar Rails

Instala la gema Rails:

Nota: Puedes verificar las últimas versiones oficiales en la documentación de Ruby on Rails.


Creación del Proyecto Rails

Ahora que tenemos el entorno listo, crearemos un nuevo proyecto Rails para nuestro blog.

Abre tu navegador y navega a http://localhost:3000, deberías ver la página de bienvenida de Rails.


Generación del Modelo Post

En una aplicación de blog, las publicaciones o “posts” son los datos principales. Vamos a crear un modelo Post que tendrá un título y un contenido.

Qué ocurre aquí:

  • Se genera un archivo de migración que crea la tabla posts.
  • El modelo Post se crea dentro de app/models/post.rb.

Controladores y Vistas para Publicaciones

Generamos un controlador para manejar las publicaciones. Usaremos el generador scaffolding para agilizar.

Esto crea las vistas y el controlador para manejar posts.

Si prefieres hacerlo manualmente:

Luego añadimos acciones en app/controllers/posts_controller.rb.


Implementación de Funcionalidades CRUD

CRUD significa Crear, Leer, Actualizar y Borrar. Estas acciones son básicas para manejar posts.

Código típico de las acciones en el controlador app/controllers/posts_controller.rb:

Cada método controla una acción:

  • index: lista todos los posts
  • show: muestra uno solo
  • new y create: para crear
  • edit y update: para actualizar
  • destroy: para borrar

Manejo de Rutas

Para que Rails dirija correctamente las URLs a nuestro controlador PostsController, definimos rutas en config/routes.rb.

La línea resources :posts genera automáticamente todas las rutas para las acciones CRUD mencionadas:

| Verbo HTTP | URL | Acción |
|————|—————|———-|
| GET | /posts | index |
| GET | /posts/new | new |
| POST | /posts | create |
| GET | /posts/:id | show |
| GET | /posts/:id/edit | edit |
| PATCH/PUT | /posts/:id | update |
| DELETE | /posts/:id | destroy |


Validación de Datos

Para evitar datos inválidos, agregaremos validaciones en el modelo Post.

Edite app/models/post.rb:

Rails rechazará guardar un post si no cumple estas reglas. Esto se refleja en el controlador con if @post.save.

En las vistas, mostraremos los mensajes de error (ver sección de vistas).


Diseño Básico con Bootstrap

Para que la app se vea moderna y responsive, agregaremos Bootstrap.

Paso 1: Instalar Bootstrap en Rails 7

Rails 7 usa importmap por defecto, pero para un tutorial sencillo, usaremos Bootstrap vía CDN.

Edita app/views/layouts/application.html.erb y añade en <head>:

Paso 2: Modificar las vistas para usar clases Bootstrap

Ejemplo para app/views/posts/index.html.erb:

Ejemplo para app/views/posts/_form.html.erb con errores de validación:

Estos cambios aplican un diseño limpio y moderno usando Bootstrap.


Conclusión y Buenas Prácticas

¡Felicidades! Has construido una aplicación blog funcional con Ruby on Rails que incluye:

  • Configuración y creación del entorno Rails
  • Modelo, vistas y controlador para publicaciones
  • Funcionalidades CRUD completas
  • Manejo de rutas RESTful
  • Validación de datos para garantizar integridad
  • Diseño visual básico con Bootstrap

Buenas prácticas para continuar:

  • Versionar código: Usa Git para controlar versiones y colaborar
  • Pruebas automatizadas: Implementa tests con RSpec o Minitest
  • Seguridad: Sanitiza y valida toda entrada de usuario
  • Optimiza consultas: Usa includes para evitar queries N+1
  • Despliegue: Prueba desplegar en plataformas como Heroku

Próximos pasos sugeridos:

  • Añadir usuarios y autenticación
  • Implementar comentarios para posts
  • Mejorar diseño y añadir componentes JS

¿Quieres más tutoriales como este y consejos para tu desarrollo backend Rails? Síguenos y comparte este tutorial Ruby on Rails para crear tu blog personal o profesional.