En esta sección, aprenderás a crear una aplicación simple en Ruby on Rails desde cero. Este ejercicio te permitirá familiarizarte con la estructura de una aplicación Rails y los conceptos básicos necesarios para desarrollar aplicaciones web con este framework.
Paso 1: Configuración del Entorno
Antes de comenzar, asegúrate de tener Ruby y Rails instalados en tu sistema. Si no los tienes, sigue las instrucciones en la sección Configuración del Entorno Rails.
Paso 2: Crear una Nueva Aplicación Rails
-
Abre tu terminal y navega al directorio donde deseas crear tu nueva aplicación.
-
Ejecuta el siguiente comando para crear una nueva aplicación Rails llamada
blog:rails new blogEste comando generará una estructura de directorios y archivos para tu nueva aplicación Rails.
-
Navega al directorio de tu nueva aplicación:
cd blog
Paso 3: Iniciar el Servidor Rails
-
Inicia el servidor Rails ejecutando el siguiente comando:
rails server -
Abre tu navegador web y navega a
http://localhost:3000. Deberías ver la página de bienvenida de Rails, lo que indica que tu aplicación está funcionando correctamente.
Paso 4: Generar un Scaffold
Rails proporciona una herramienta llamada "scaffold" que genera automáticamente el código necesario para las operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en una base de datos.
-
Genera un scaffold para un modelo llamado
Postcon los atributostitle(string) ybody(text):rails generate scaffold Post title:string body:textEste comando generará los archivos necesarios para el modelo
Post, incluyendo controladores, vistas y migraciones de base de datos. -
Ejecuta las migraciones para actualizar la base de datos con la nueva tabla
posts:rails db:migrate
Paso 5: Explorar la Aplicación
- Navega a
http://localhost:3000/postsen tu navegador. Deberías ver una lista vacía de posts. - Haz clic en "New Post" para crear un nuevo post. Llena los campos
titleybodyy haz clic en "Create Post". - Explora las funcionalidades de edición, visualización y eliminación de posts.
Paso 6: Entender la Estructura del Código
Modelos
El archivo del modelo Post se encuentra en app/models/post.rb:
Controladores
El archivo del controlador PostsController se encuentra en app/controllers/posts_controller.rb:
class PostsController < ApplicationController
def index
@posts = Post.all
end
def show
@post = Post.find(params[:id])
end
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
if @post.save
redirect_to @post
else
render 'new'
end
end
def edit
@post = Post.find(params[:id])
end
def update
@post = Post.find(params[:id])
if @post.update(post_params)
redirect_to @post
else
render 'edit'
end
end
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to posts_path
end
private
def post_params
params.require(:post).permit(:title, :body)
end
endVistas
Las vistas para el modelo Post se encuentran en app/views/posts/. Aquí están algunos ejemplos:
index.html.erb: Lista de posts.show.html.erb: Mostrar un post específico.new.html.erbyedit.html.erb: Formularios para crear y editar posts.
Ejercicio Práctico
Ejercicio 1: Añadir Validaciones
Añade validaciones al modelo Post para asegurarte de que los campos title y body no estén vacíos.
Solución:
-
Abre el archivo
app/models/post.rb. -
Añade las siguientes validaciones:
class Post < ApplicationRecord validates :title, presence: true validates :body, presence: true end -
Intenta crear un post sin título o cuerpo para verificar que las validaciones funcionan correctamente.
Ejercicio 2: Personalizar las Vistas
Personaliza las vistas para mejorar la apariencia de tu aplicación. Por ejemplo, añade un encabezado y un pie de página a app/views/layouts/application.html.erb.
Solución:
-
Abre el archivo
app/views/layouts/application.html.erb. -
Añade el siguiente código:
<!DOCTYPE html> <html> <head> <title>Blog</title> <%= csrf_meta_tags %> <%= csp_meta_tag %> <%= stylesheet_link_tag 'application', media: 'all' %> <%= javascript_pack_tag 'application' %> </head> <body> <header> <h1>Welcome to My Blog</h1> </header> <%= yield %> <footer> <p>© 2023 My Blog</p> </footer> </body> </html>
Conclusión
En esta sección, has aprendido a crear una aplicación simple en Rails, generar un scaffold, y explorar la estructura del código generado. También has practicado añadiendo validaciones y personalizando vistas. Estos conocimientos te preparan para desarrollar aplicaciones más complejas y personalizadas en Rails.
En la siguiente sección, profundizaremos en la Arquitectura MVC de Rails para entender mejor cómo interactúan los modelos, vistas y controladores.
Curso de Programación en Ruby
Módulo 1: Introducción a Ruby
Módulo 2: Conceptos Básicos de Ruby
Módulo 3: Trabajando con Colecciones
Módulo 4: Programación Orientada a Objetos en Ruby
- Clases y Objetos
- Variables y Métodos de Instancia
- Variables y Métodos de Clase
- Herencia
- Módulos y Mixins
Módulo 5: Conceptos Avanzados de Ruby
- Bloques, Procs y Lambdas
- Metaprogramación
- Manejo de Excepciones
- Entrada/Salida de Archivos
- Expresiones Regulares
Módulo 6: Introducción a Ruby on Rails
- ¿Qué es Ruby on Rails?
- Configuración del Entorno Rails
- Creando una Aplicación Simple en Rails
- Arquitectura MVC
- Enrutamiento
Módulo 7: Pruebas en Ruby
- Introducción a las Pruebas
- Pruebas Unitarias con Minitest
- Desarrollo Guiado por Comportamiento con RSpec
- Mocking y Stubbing
Módulo 8: Mejores Prácticas en Ruby
- Estilo de Código y Convenciones
- Refactorización
- Optimización del Rendimiento
- Mejores Prácticas de Seguridad
