Proprio ora ho iniziato a usare Concerns in rotaie, ma ho dei dubbi sul motivo per cui ci preoccupiamo, perché possiamo ottenere lo stesso risultato sul concetto di miscelazione del modulo &. Quindi, per favore qualcuno dice su shat è l'uso delle preoccupazioni invece di usare il modulo.Qual è la differenza tra l'utilizzo di preoccupazioni vs moduli in rotaie?
risposta
ActiveSupport::Concern
aggiunge alcune funzioni utili (ad esempio class_methods
) al modulo. È possibile utilizzare i moduli "puri" di ruby senza estenderlo. In sostanza si crea un modulo che si mescola in una classe. Non importa se questo modulo estende AS :: Concern, il meccanismo è lo stesso.
quando si scrive preoccupato che si sta facendo un modulo. La mia opinione è preoccupazione e il modulo è simile insieme. La preoccupazione può apparire da qualche parte come modello, controller e qui puoi scrivere il modulo per te stesso. E con il modulo generale è scritto nella cartella lib. Entrambi possono essere usati a modo includere o estendere in una classe.
È ben descritto qui: http://api.rubyonrails.org/classes/ActiveSupport/Concern.html
In breve:
Esso consente di utilizzare
#included
e#class_methods
invece diself.included
gancio con modulo aggiuntivoClassMethods
creazione;Offre una migliore risoluzione delle dipendenze per moduli inclusi l'uno nell'altro;
Date un'occhiata al [DOCS] (http://api.rubyonrails.org/classes/ActiveSupport/Concern.html) – Abhi
risoluzione delle dipendenze, come accennato nella documentazione. –