/ / A cosa serve la cartella Rails Presenters? - ruby-on-rails, ruby, folder, mvp

A cosa serve la cartella Rails Presenters? - ruby-on-rails, ruby, folder, mvp

A cosa serve la cartella Rails Presenters? Cosa va in questa cartella? Perché è necessaria questa cartella?

(Colpire "Posta la tua domanda" mentre il peaking passa attraverso una fessura nella mia mano)

risposte:

3 per risposta № 1

presenters è un modello di progettazione comunemente indicato come Model View Presenter (MVP)

Questa è una derivazione del modello Model View Controller e viene utilizzata per creare interfacce utente.

È utile per Separation of Concerns per rendere il codice più ASCIUTTO.

Ecco come lo descrive Wikipedia

modello - interfaccia che definisce i dati da visualizzare o in altro modo agito nell'interfaccia utente.

presentatore - agisce sul modello e sulla vista. Recupera i dati dai repository (il modello) e li formatta per la visualizzazione nella vista.

vista - un'interfaccia passiva che visualizza i dati (il modello) e instrada i comandi dell'utente (eventi) al presentatore per agire su tali dati.

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

Presentatori in Ruby on Rails

I presentatori sono classi semplici che si trovano tra il modello e la vista e forniscono un modo di lavorare orientato agli oggetti con logica di visualizzazione complessa e piacevole.

In Rails, la convenzione è per loro di trovarsi nel app/presenters cartella

Ecco un articolo utile che spiega il modello e il suo utilizzo in Ruby on Rails.

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


4 per risposta № 2

La cartella Presentatori è il tuo Presenteril codice andrebbe ... Lo so, ovvio, lo spiegherò ... Il modo in cui penso a Presentatori e Decoratori è come un'astrazione di un Modello per massaggiare gli attributi dei dati prima che vengano dati alla vista. sono familiari con gli helper, beh, i presentatori sono un po 'come aiutanti nel senso che stanno preparando alcuni dati per la visualizzazione, eccetto che gli helper di solito servono come metodi di utilità per le suddette visualizzazioni, mentre i presentatori hanno più a che fare con gli attributi attuali.

Questo link spiega molto bene la differenza: https://robertomurray.co.uk/blog/2014/decorators-presenters-delegators-rails/

spero che sia d'aiuto.