Wofür ist der Rails Presenters-Ordner? Was ist in diesem Ordner? Warum wird dieser Ordner benötigt?Wofür ist der Rails Presenters-Ordner?
(Schlagen 'Post Frage', während in der Hand durch eine Lücke setzen Entzerrung)
Wofür ist der Rails Presenters-Ordner? Was ist in diesem Ordner? Warum wird dieser Ordner benötigt?Wofür ist der Rails Presenters-Ordner?
(Schlagen 'Post Frage', während in der Hand durch eine Lücke setzen Entzerrung)
presenters
ist ein Design-Muster häufig reffered als Model View Presenter (MVP)
Dies ist eine Ableitung von der Model View Controller-Muster und wird zum Erstellen von Benutzeroberflächen verwendet.
Es ist nützlich für die Trennung von Bedenken, um Code mehr DRY zu machen.
Hier ist, wie Wikipedia es
Modell beschreibt - Schnittstelle, um die Daten, die angezeigt werden oder auf andere Weise auf in der Benutzeroberfläche gehandelt hat.
Moderator - handelt nach dem Modell und der Ansicht. Es ruft Daten aus Repositorys (dem Modell) ab und formatiert sie zur Anzeige in der Ansicht.
Ansicht - eine passive Schnittstelle, die Daten (das Modell) anzeigt und Benutzerbefehle (Ereignisse) an den Präsentator weiterleitet, um auf diese Daten zu reagieren.
https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter
Presenters in Ruby on Rails
Präsentatoren sind einfache Klassen, die zwischen dem Modell und der Ansicht und bieten bieten eine schöne, DRY objektorientierte Arbeitsweise mit komplexer Anzeigelogik sitzen .
In Rails ist die Konvention für sie im app/presenters
Ordner
Hier einen userful Artikel angeordnet werden sollen, die das Muster und seine Verwendung in Ruby on Rails erklärt.
https://kpumuk.info/ruby-on-rails/simplifying-your-ruby-on-rails-code/
Als Beispiel verwende ich Referenten, um sicherzustellen, dass eine Ansicht keine n + 1-Abfrage durchführen kann, die die Beziehungen eines Modells durchläuft.Wenn eine Ansicht nur auf einen Präsentator zugreifen kann, ist dies ein großartiger Platz, um sicherzustellen, dass erforderliche verwandte Modelle über eine einzige Abfrage geladen werden oder um zu verhindern, dass die Ansicht aktive Datensatzabfragen vollständig auslöst. – Jonah
Die Präsentatoren Ordner ist, wo Ihr Presenter Code würde gehen ... Ich weiß, klar, ich erklären werde ... So wie ich denke an Präsentatoren und Dekorateure ist als eine Abstraktion eines Modells in um die Datenattribute zu massieren, bevor sie der Ansicht übergeben werden. Wenn Sie mit Helfern vertraut sind, dann sind Moderatoren so etwas wie Helfer in dem Sinne, dass sie einige Daten für die Ansicht bereithalten, außer dass Helfer normalerweise als Hilfsmethoden für diese Ansichten dienen, während Moderatoren eher die tatsächlichen Attribute präsentieren.
Dieser Link erklärt den Unterschied sehr gut: https://robertomurray.co.uk/blog/2014/decorators-presenters-delegators-rails/
Hoffnung, das hilft.
Toller Link, erklärt es gut! –
hahahaha ... es ist dieses Gefühl, wenn du weißt, dass du in den Hinterkopf geschlagen wirst, aber du tust es trotzdem .... Moderatoren sind für die Zeit, wenn du in deinem Modell einen Blickcode erstellst, oder wenn Ihre Ansichten mit Geschäftslogik aufgebläht werden. Es ist nur eine Möglichkeit, diese Zwischenstücke zu analysieren, damit sowohl Modelle als auch Ansichten sauber bleiben. – trh