Sto usando paper_trail per audit trail. Oltre a creare, aggiornare ed eliminare eventi, voglio monitorare alcuni eventi personalizzati come la visualizzazione (registrazione), l'invio (email) ecc. Come possiamo introdurre tali eventi personalizzati durante l'auditing di un modello?Come tenere traccia degli eventi personalizzati in paper_trail?
risposta
Ho trovato un ritocco per aggiungere eventi personalizzati nelle versioni gestite paper_trail. Ecco il tweak
Version.create(item_type: "Campaign", item_id: campaign.id, event: "Sent")
Può essere che questa non sia la soluzione giusta ma mi ha aiutato a raggiungere l'obiettivo. Vorrei esplorare paper_trail di più per trovare una soluzione ovvia.
Si prega di continuare a postare i vostri suggerimenti.
Grazie, Amit Patel
Vedere simple hit counter for page views in rails come risposta alla prima parte della domanda. Per quanto riguarda il monitoraggio delle e-mail inviate, è possibile utilizzare Observer pattern.
In ogni caso, tutti questi eventi non rientrano nel dominio paper_trail
. Mentre paper_trail
crea semplicemente versioni del modello durante la modifica dei dati, è necessario osservare l'evento personalizzato e scrivere nel DB tutte le informazioni necessarie su quell'evento.
grazie @ Nash-ponti, la risposta è molto utile. Sto preparando un'applicazione prototipo che richiede il controllo degli eventi di base come creare, aggiornare, eliminare e alcuni eventi personalizzati come ho detto prima. Dato che paper_clip ha un buon supporto per il monitoraggio di questi eventi di base, stavo cercando qualche ritocco in modo da poter tenere traccia delle azioni personalizzate insieme a quelle di base. Questa disposizione è per il momento finché non dimostrerò il POC al cliente. –