Ruby on Rails: Cómo realizar un seguimiento de los cambios como StackOverflow implementa su historial de revisiones?

StackOverflow https://stackoverflow.com/questions/3833187

Pregunta

Si tuviera que poner en práctica un sistema idéntico al historial de preguntas de revisión Stackoverflow usando Ruby on Rails , lo que haría que necesito hacer para lograr eso? Estoy creando un sitio que actúa como un wiki donde el contenido aportado por los usuarios puede ser actualizado por otras personas. Tengo que ser capaz de realizar un seguimiento de la historia de estos cambios, pero no estoy familiarizado con la forma de implementar esto.

Solución:

En pocas palabras, la forma en que esto funciona es crear una mesa extra para realizar un seguimiento de los cambios. Cada fila de la tabla tiene una "instantánea" de los datos, tal como existía antes de que el registro se ha cambiado (o sólo los datos que han cambiado).

Hay una serie de Ruby Gems que ya lo han hecho la mayoría del trabajo. Aquí está una lista de gemas que tienen que ver con la historia de versiones / revisión . Parece que Paper Trail es actualmente la joya más popular para hacer esto. Ryan Bates ha grabado un Railscast proporcionando una visión general del uso de papel Trail .

¿Fue útil?

Solución

Cuando se edita una entrada, que no elimine la entrada (de edad), que acaba de añadir una nueva entrada con un nuevo número de versión. Cuando se desea recuperar una entrada para la exhibición, que elija el que tiene el mayor número de versión. Cuando se desea recuperar una entrada para mostrar su historial de revisiones, usted escoge todos ellos y ordenarlos por número de versión.

Otros consejos

Sé que esto es viejo, pero cualquier persona que se encuentra con esto usted debe pago y envío Paper Trail

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top