Frage

Wenn ich ein System identisch mit der Frage Stackoverflow Revisionsgeschichte mit Ruby on Rails implementieren war , was brauche ich, um zu tun, um das zu erreichen? Ich erstelle eine Website, die wie ein Wiki dient dem Benutzer beigetragen Inhalte von anderen Leuten aktualisiert werden können. Ich muss in der Lage, die Geschichte dieser Änderungen zu verfolgen, aber ich bin nicht vertraut mit, wie diese umzusetzen.

Lösung:

Auf dem Punkt gebracht, die Art und Weise dies funktioniert, ist eine zusätzliche Tabelle zu erstellen, den Überblick über die Änderungen zu halten. Jede Zeile in der Tabelle hat eine „Momentaufnahme“ der Daten, wie sie existierte, bevor der Datensatz geändert wurde (oder nur die Daten, die geändert).

Es gibt eine Reihe von Ruby Gems, die bereits die meiste Arbeit getan haben. Hier ist eine Liste von Edelsteine, die sich mit der Versionsverwaltung / Revisionsgeschichte . Es sieht aus wie Paper Trail zur Zeit ist das beliebteste Juwel, dies zu tun. Ryan Bates hat eine Railscast aufgezeichnet bietet eine Überblick über die Verwendung Paper Trail .

War es hilfreich?

Lösung

Wenn ein Eintrag bearbeitet wird, Sie nicht über den (alten) Eintrag löschen, Sie fügen Sie einfach einen neuen Eintrag mit einer neuen Versionsnummer. Wenn Sie einen Eintrag für die Anzeige abrufen möchten, wählen Sie das mit der höchsten Versionsnummer. Wenn Sie einen Eintrag abrufen möchten ihre Revisionsgeschichte zu zeigen, nehmen Sie alle von ihnen und sortieren sie nach Versionsnummer.

Andere Tipps

Ich weiß, das ist alt, aber jeder, der in dieser läuft sollten Sie Prüfung Paper Trail

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top