Entender la web con rieles

6/36
Recursos

Aportes 10

Preguntas 0

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

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 馃槂

Entender la web con rieles


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>
  • Protocolo HTTP
  • Petici贸n URL
  • M茅todo GET
  • Formato HTML

<h3>2do paso - Enrutador/Mapeador</h3>
  • Petici贸n URL
  • M茅todo GET

<h3>3er paso - Controlador</h3>
  • Formato HTML
  • Par谩metros :id

<h3>4er paso - Modelo</h3>
  • Par谩metros :id

<h3>5er paso - Templating, Formatos y Renderizador</h3>
  • Formato HTML
    Cuando ya tenemos los datos que hemos pedido adoptamos el formato que viene desde nuestra petici贸n y lo renderiza con un sistema de plantillas

<h3>6to paso - Formato</h3>
  • Formato HTML
    P谩gina lista.

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 馃憦馃徏

Web tradicional

La gran mayor铆a de sitios y aplicaciones en internet trabajan con un arquitectura Cliente - Servidor. Incluso en desarrollos con tecnolog铆as modernas.

Web con Rails

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.

  1. Para realizar esa petici贸n se usa el protocolo HTTP, con una petici贸n URL usando el m茅todo GET en formato HTML.
  2. La petici贸n URL llega al sistema, y el enrutador hace un mapeo y a trav茅s del mapeo se enruta hacia su correspondiente controlador.
  3. El controlador reconoce los par谩metros que vienen dentro de la URL y con est谩 informaci贸n se comunica con el Modelo para obtener la informaci贸n que se pidi贸.
  4. Cuando ya se tiene la informaci贸n adopta el formato que fue solicitado y lo renderiza con un sistema de plantillas y finalmente devuelve el resultado al cliente.

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.

La mejor explicaci贸n que he visto de la arquitectura MVC, nunca me hab铆a quedado claro del todo hasta hoy.

Este video tambi茅n me ayud贸 a entender bien el modelo MVC

https://www.youtube.com/watch?v=Izkaq1rjukg

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:

  • Protocolo HTPP: son instrucciones que le doy al mensajero
  • Petici贸n URL: como quiero que se entregue la informaci贸n
  • M茅todo Get
  • Formato HTML: tipo de paquete que quiero que me lo env铆en, por ejemplo HTML, XML

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:

  • Control: recepci贸n de petici贸n y tratamiento, lo forman el enrutador y el controlador.
  • Modelo: modelo y base de datos
  • Vista: sistema de renderizaci贸n y plantilla, lo que ve el usuario , recibe datos del modelo y se lo muestra al usuario.

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.

Muy importante:

  • Index
  • Show
  • New
  • Edit
  • Create
  • Update
  • Destroy

Clarisimo!!!

es un modelo vista controlador (MVC)