Pregunta

Estoy usando la gema act_as_audited con mi aplicación. (Excelente joya para realizar un seguimiento de los cambios de los objetos del modelo)

Se me ha pedido que apoye la asociación de un comentario de texto con cada registro de Auditoría (funcionalidad similar a svn commit). Y estoy perplejo sobre cómo lograr esto.

Por ejemplo. Digamos que tengo un formulario de dirección, y el usuario actualiza la ciudad y el estado, al presionar guardar le pido que envíe un comentario. Me gustaría que la información de comentarios asociada con el registro de auditoría que se crea.

¿Tiene sentido?

Gracias por su ayuda,

Jonathan

¿Fue útil?

Solución

Pensé que esto sería algo útil. Así que bifurqué y parcheé el complemento yo mismo.

Editar Mi bifurcación se ha fusionado en el repositorio oficial actions_as_audited. La documentación de uso contenida en esta publicación ahora es aplicable a vanilla act_as_audited. He cambiado los enlaces en esta publicación para señalar allí. Obtenga el repositorio oficial porque el mío no se actualizará con parches aguas arriba. He actualizado la documentación de uso en esta publicación para reflejar las mejoras.

Instalarlo como un complemento:

rails_root$ script/plugin install git://github.com/collectiveidea/acts_as_audited.git

El uso realmente no cambia de actos vainilla como auditados.

actions_as_audited toma una opción adicional ahora. : require_comment, que si es verdadero, bloquea la creación, actualización o destrucción de un modelo auditado a menos que se proporcione un comentario.

Para agregar un comentario a una auditoría, utilice model.audit_comment = " Mi comentario " antes de crear / actualizar / destruir.

audit_comment también se puede asignar en masa, lo que facilita la adición de un campo de comentario a cualquier formulario.

Antes de que pueda usar mi gema / complemento, deberá actualizar la tabla de auditoría para contener una columna de comentarios. Si está actualizando desde una versión anterior de actos_as_auditados que no tiene un campo de comentarios en la tabla de auditoría, actualice el complemento y luego ejecute script / generate audited_migration_update update_audits_table . De lo contrario, está listo para ir.

Con la gema / complemento, todo lo que tendría que cambiar usando su ejemplo de dirección agrega un campo audit_comment a su formulario.

<%form_for @address do |f| %>
  ... standard address fields
  <%= f.label_for :audit_comment %>
  <%= f.text_field :audit_comment %>
<% end %>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top