Sería ideal que en estos cursos ya se promueva el uso de docker para usar dockerización de la app en entorno local, eso facilitaría muchísimo al pasar a producción en infraestructuras modernas 😃
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
Para entender el funcionamiento de Rails, es vital comprender el mapeo de los sistemas web tradicionales y cómo aún se emplean ciertas arquitecturas en aplicaciones web modernas. Todo parte del patrón solicitante-proveedor. Imagina que alguien solicita un servicio y existe un sistema que provee dicho servicio. Este concepto arraiga el modelo cliente-servidor, muy popular en desarrollos web contemporáneos, y Rails no es la excepción.
Para visualizarlo mejor, imagina que envías un mensajero desde tu casa a un complejo residencial para recoger un paquete. Tú, como solicitante, le das instrucciones precisas. El mensajero actúa como ente transmisor de tus requerimientos, similar a cómo funciona una petición HTTP en la web.
El protocolo HTTP nutre esta estructura, ayudando a mapear peticiones y definir formatos de respuestas. Mediante una URL, se puede especificar cómo debe ser entregado el paquete. Existen diversos formatos:
Estas opciones permiten flexibilidad en la comunicación cliente-servidor adaptando el producto final a las necesidades específicas del usuario.
Rails integra el estilo arquitectónico conocido como modelo vista controlador (MVC), que organiza el proceso de las peticiones en módulos:
Adicionalmente, Rails sigue la estructura RESTful. Ofrece métodos predefinidos para gestionar recursos, como index, show, new, create, edit, update y destroy, proveyendo una verdadera dinamización en la interacción con los datos.
Rails sigue convencionalmente la estructura RESTful para manejar las peticiones. Los métodos RESTful permiten abordar y manipular recursos de manera eficiente. Estos métodos pueden ser modificados o ampliados según las necesidades del desarrollador, añadiendo flexibilidad a la estructura MVC que Rails promueve.
Este enfoque no solo fortalece las aplicaciones modernas, sino que inspira a los desarrolladores a explorar y personalizar sus aplicaciones, utilizando un marco de trabajo robusto y bien estructurado. ¿Estás listo para seguir aprendiendo? ¡El mundo del desarrollo web con Rails es vasto y emocionante!
Aportes 10
Preguntas 0
Sería ideal que en estos cursos ya se promueva el uso de docker para usar dockerización de la app en entorno local, eso facilitaría muchísimo al pasar a producción en infraestructuras modernas 😃
Todo parte del esquema solicitante-proveedor. O sea, cliente-servidor. Rails no es la excepción a esto y podemos encontrar este tipo de flujos utilizando arquitecturas modernas.
<h3>1er paso - Cliente</h3>↓
<h3>2do paso - Enrutador/Mapeador</h3>↓
<h3>3er paso - Controlador</h3>↓
<h3>4er paso - Modelo</h3>↓
<h3>5er paso - Templating, Formatos y Renderizador</h3>↓
<h3>6to paso - Formato</h3>Esto denota un estilo arquitectónico o MVC (Modelo-vista-controlador)
⭐ Rails trata por convención a las peticiones con la estructura RESTful, este nos provee cierto tipo de métodos prediseñados y preconfigurados para poder acceder a los recursos.
Excelente explicación 👏🏼
La gran mayoría de sitios y aplicaciones en internet trabajan con un arquitectura Cliente - Servidor. Incluso en desarrollos con tecnologías modernas.
El cliente hace una petición, el enrutador hace el papel de una especie de lobby, donde dirigirá la petición a donde está lo que pidió, pero antes se topa con el controlador; el controlador construye la respuesta y la envía (con ayuda del modelo y del renderizador) de regreso.
Este es un estilo arquitectónico conocido como MVC (Model View Controller)
Por convención, Rails trata a las peticiones bajo el estilo arquitectónico RESTful, que provee ciertos métodos prediseñados y preconfigurados para acceder a los recursos. Estos son: index, show, new, create, update y destroy.
Estos métodos se pueden modificar o incluso se pueden crear métodos propios, pero estos son los que la arquitectura RESTful provee por defecto.
Muy importante:
Este video también me ayudó a entender bien el modelo MVC
La mejor explicación que he visto de la arquitectura MVC, nunca me había quedado claro del todo hasta hoy.
es un modelo vista controlador (MVC)
Ruby on Rails: HTTP, MVC and Routes
Les dejo mis aportes de este y otros videos que vi en internet:
1° paso) Envió mensajero, el mensaje tiene unas condiciones determinadas, instrucciones ya mapeadas:
2° paso) El mensajero al llegar al lobby o a portería llega a un enrutador o mapeador
Enrutamiento: el mensajero entrega las instrucciones de a donde ir al portero y este le da el okey
3° paso) El mensajero llega a la casa, es decir al controlador quien recibe las condiciones, lo construye, lo empaqueta y se lo entrega al mensajero. Las condiciones son la forma en la que quiero renderizar el producto.
4° paso) Recibo el paquete de parte del mensajero
La petición URL y el método get es el mapeo que hace el sistema (cuando la petición llega, se enruta y va al controlador: quien tiene una acción y parámetros dentro de la url: las condiciones).
El controlador hace un enlace directo hacia un sistema donde tengo almacenado registros, este sistema se llama modelo, tiene comunicación directa con una base de datos.
Desde el id que he obtenido desde el controlador obtengo referencia directa al recurso que quiero, es decir al insumo para poder fabricar el producto.
Cuando tengo el insumo adopto el formato que viene desde mi petición o desde las condiciones y a partir de allí entrego, en este caso utilizo HTML: sistema para renderizar HTML.
El producto final, en este caso es una pagina terminada, empaquetada que ira de vuelta a la respuesta de mi petición.
MODELO-VISTA-CONTROLADOR:
Controlador: nexo entre modelo y vista, ya que por ejemplo el usuario envía un formulario, el controlador zabra que tiene que crear un modelo y almacenar información dentro de la BD. Al llevar la acción de manera satisfactoria tiene que ir a una vista y hacer que esta vista le notifique al usuario que el registro se llevo de manera adecuada.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?