2012-03-24 7 views
5

Estoy usando paper_trail para el seguimiento de auditoría. Junto con crear, actualizar y eliminar eventos, quiero rastrear algunos eventos personalizados como ver (grabar), enviar (correo electrónico), etc. ¿Cómo podemos introducir dichos eventos personalizados mientras auditamos un modelo?Cómo rastrear eventos personalizados en paper_trail?

Respuesta

3

He encontrado una modificación para agregar eventos personalizados en las versiones manejadas de paper_trail. Aquí está el tweak

Version.create(item_type: "Campaign", item_id: campaign.id, event: "Sent") 

Puede ser que esta no es la solución correcta, pero me ayudó a lograr el objetivo. Exploraría paper_trail más para encontrar una solución obvia.

Por favor, sigue publicando tus sugerencias.

Gracias, Amit Patel

1

Consulte simple hit counter for page views in rails como respuesta a la primera parte de su pregunta. En cuanto al seguimiento de correos enviados, es posible que desee utilizar Observer pattern.

En cualquier caso, todos estos eventos están fuera del dominio paper_trail. Mientras que paper_trail simplemente crea versiones de su modelo durante el cambio de datos, lo que necesita es observar un evento personalizado y escribir a DB toda la información necesaria sobre ese evento.

+0

gracias @ Nash-puentes, su respuesta es muy útil. Estoy preparando una aplicación prototipo que requiere la auditoría de eventos básicos como crear, actualizar, eliminar y algunos eventos personalizados como mencioné anteriormente. Como paper_clip tiene un buen soporte para el seguimiento de estos eventos básicos, estaba buscando algunos ajustes para poder seguir las acciones personalizadas junto con las básicas. Esta disposición es por un tiempo hasta que demuestre el POC al cliente. –

Cuestiones relacionadas