Genial! Gracias por compartir la documentaci贸n de los callbacks disponibles 馃憤馃徑 Aqui les dejo el link tambien https://guides.rubyonrails.org/active_record_callbacks.html
Introducci贸n
Curso Completo de Ruby on Rails: Introducci贸n y Proyecto Pr谩ctico
Historia y Evoluci贸n de Ruby y Ruby on Rails
Entorno de desarollo
M贸dulos Esenciales de Ruby on Rails
Instalaci贸n de Ruby on Rails en Ubuntu 20.04 LTS
Instalaci贸n de Ruby on Rails en macOS y Windows 10
Nuestra primera aplicaci贸n
Arquitectura MVC y Flujo de Peticiones en Rails
Creaci贸n y Configuraci贸n de Aplicaciones Web con Ruby on Rails
Creaci贸n de Rutas y Controladores en Ruby on Rails
Creaci贸n de Modelos y Migraciones en Ruby on Rails
Gesti贸n de Credenciales Seguras en Ruby on Rails
Gesti贸n de Assets y Layouts en Rails: Asset Pipeline y Webpacker
Uso del Generador Scaffold en Ruby on Rails
Migraciones y Consistencia de Modelos en Rails
Migraci贸n de Plantillas ERB a Haml en Ruby on Rails
Creaci贸n de Formularios Din谩micos con SimpleForm y Haml en Rails
Internacionalizaci贸n de Aplicaciones Rails con i18n y i18n-tasks
Debugging en Ruby on Rails: Uso de Bybug y Pry
Proyecto del curso: primeros pasos
Desarrollo de un Sistema de Gesti贸n de Tareas con Ruby on Rails
Dise帽o de Modelos de Datos para un Organizador de Tareas
Creaci贸n de Scaffolds y Modelos en Rails con SimpleFrame y Bootstrap
Internacionalizaci贸n de Formularios en Rails con i18n y SimpleForm
Validaciones de Modelos en Ruby on Rails
Proyecto del curso: usuarios
Autenticaci贸n de Usuarios con Devise en Rails
Migraci贸n de Llave For谩nea: Enlazar Tarea con Usuario en Rails
Integraci贸n Visual y Estructural en Rails: Usuario, Tarea y Participante
Manejo de Formularios Anidados con Cocoon en Rails
Formularios Din谩micos en Rails con Cocoon y Validaciones de Unicidad
Permisos y Accesos con KanKan en Aplicaciones Rails
Proyecto del curso: interacciones
Callbacks en Controladores y Modelos en Rails
Automatizaci贸n de Inserci贸n de Datos en Rails con db:seed
Env铆o de Correos con ActionMailer en Rails
Creaci贸n de notas din谩micas en tareas con Ruby on Rails
Inserciones Din谩micas de Notas con AJAX y SJR en Rails
Mejora de Interfaces con Bootstrap en Aplicaciones Rails
Cierre
Despliegue de Aplicaciones en Heroku con Ruby on Rails
Desarrollo de Aplicaciones Web con Ruby on Rails
No tienes acceso a esta clase
隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera
En el mundo de la programaci贸n, los callbacks desempe帽an un papel fundamental en la gesti贸n del flujo de control de una aplicaci贸n. Son esencialmente funciones que se ejecutan en un momento espec铆fico del ciclo de vida de una aplicaci贸n, permitiendo as铆 la ejecuci贸n de un cierto conjunto de instrucciones antes o despu茅s de una acci贸n principal. Esto es especialmente 煤til en la web, donde las peticiones y respuestas a menudo requieren ajustes o verificaciones adicionales.
En el contexto de un controlador, los callbacks como before action
y after action
se utilizan para ejecutar l贸gica antes o despu茅s de que un controlador realice su tarea principal. Estos permiten, por ejemplo, configurar la internacionalizaci贸n o autenticar usuarios antes de continuar con una acci贸n espec铆fica. Sin embargo, los callbacks no se limitan solo a los controladores; tambi茅n se aplican a los modelos, permitiendo personalizar el comportamiento de persistencia de una entidad en la base de datos.
Rails facilita la utilizaci贸n de callbacks en modelos, lo que nos permite intervenir en su ciclo de vida, como las acciones de creaci贸n, actualizaci贸n o eliminaci贸n. Abordemos un ejemplo de c贸mo agregar un callback al modelo Task
que genera autom谩ticamente un c贸digo 煤nico antes de guardar una tarea.
# Modelo Task con callback before_create
class Task < ApplicationRecord
before_create :create_code
private
def create_code
# Generar c贸digo basado en el id del propietario
self.code = "#{owner_id}#{Time.now.to_i.to_s(36)}#{SecureRandom.hex(8)}"
end
end
Agregar un nuevo atributo al modelo: Comenzamos agregando un nuevo atributo code
de tipo string al modelo Task
. Esto se realiza a trav茅s de una migraci贸n en Rails.
rails generate migration AddCodeToTasks code:string
Ejecutar la migraci贸n: Para aplicar esta modificaci贸n a la base de datos, ejecutamos:
rails db:migrate
Definir el Callback: Dentro del modelo Task
, declaramos un before_create
que llama al m茅todo create_code
, cuya responsabilidad es asignar un c贸digo 煤nico al atributo code
.
Implementar el m茅todo create_code
: Generamos un c贸digo compuesto por m煤ltiples elementos para asegurar su unicidad:
SecureRandom.hex(8)
para a帽adir un componente aleatorio.Este enfoque no solo asegura que cada tarea tenga un c贸digo 煤nico, sino que tambi茅n ilustra la flexibilidad y poder que ofrecen los callbacks en procesos de persistencia en Rails.
Para explorar m谩s sobre los callbacks disponibles en Rails, es recomendable revisar la gu铆a oficial de Rails, concretamente la secci贸n de Active Record Callbacks
. Aqu铆 se lista un cat谩logo exhaustivo de callbacks que se pueden utilizar para modificar el ciclo de vida de los modelos.
Para acceder a esta gu铆a:
Active Record Callbacks
.Available Callbacks
, se presentan todos los m茅todos y sus usos espec铆ficos.A trav茅s de estos recursos, es posible profundizar en c贸mo los callbacks pueden optimizar los procesos de manejo de datos, permitiendo la ejecuci贸n de l贸gica personalizada en diversas etapas del ciclo de vida de un modelo. Encourage the exploration and adoption of these powerful tools to enhance your application's functionality.
Aportes 1
Preguntas 0
Genial! Gracias por compartir la documentaci贸n de los callbacks disponibles 馃憤馃徑 Aqui les dejo el link tambien https://guides.rubyonrails.org/active_record_callbacks.html
驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?