/ / ¿Para qué es la carpeta Rails Presenters? - Ruby-on-Rails, ruby, carpeta, mvp

¿Para qué es la carpeta Rails Presenters? - Ruby-on-Rails, ruby, carpeta, mvp

¿Para qué es la carpeta Rails Presenters? ¿Qué pasa en esta carpeta? ¿Por qué es necesaria esta carpeta?

(Golpear "Publica tu pregunta" mientras llegas a un espacio en mi mano)

Respuestas

3 para la respuesta № 1

presenters es un patrón de diseño comúnmente referido como Model View Presenter (MVP)

Esta es una derivación del patrón de Model View Controller y se utiliza para crear interfaces de usuario.

Es útil para la separación de preocupaciones para hacer que el código sea más seco.

Aquí es cómo la Wikipedia lo describe

modelo - interfaz que define los datos que se mostrarán o que se actuarán de otra manera en la interfaz de usuario.

presentador - Actúa sobre el modelo y la vista. Recupera los datos de los repositorios (el modelo) y los formatea para mostrarlos en la vista.

ver - una interfaz pasiva que muestra datos (el modelo) y enruta los comandos (eventos) del usuario al presentador para actuar sobre esos datos.

https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter

Presentadores en Ruby on Rails

Los presentadores son clases sencillas que se ubican entre el modelo y la vista y proporcionan una forma agradable y seca de trabajar con lógica de visualización compleja.

En Rieles, la convención es que se ubiquen en el app/presenters carpeta

Aquí hay un artículo útil que explica el patrón y su uso en Ruby on Rails.

https://kpumuk.info/ruby-on-rails/simplifying-your-ruby-on-rails-code/


4 para la respuesta № 2

La carpeta de presentadores es donde tu presentadorel código iría ... Lo sé, es obvio, lo explicaré ... La forma en que pienso de los Presentadores y Decoradores es como una abstracción de un Modelo para dar masajes a los atributos de los datos antes de que se asignen a la vista. están familiarizados con los ayudantes, bueno, los presentadores son como ayudantes en el sentido de que están preparando algunos datos para la vista, excepto que los ayudantes usualmente sirven como métodos de utilidad para dichas vistas, mientras que los presentadores tratan más sobre la presentación de los atributos reales.

Este enlace explica muy bien la diferencia: https://robertomurray.co.uk/blog/2014/decorators-presenters-delegators-rails/

Espero que ayude.