2016-05-13 5 views
1

Ich verwende den Edelstein paper_trail (https://github.com/airblade/paper_trail) in meiner Anwendung für die Store-Versionierung. Ich passe mit class_name. Ich in der Lage Aufzeichnung durch Abfrage zu sammeln, sondern, wie die Daten für den Zugriff auf ObjektIn PaperTrail gem, die Daten eines Objekts sind nicht zugänglich

ElementVersion(id: integer, item_type: string, item_id: integer, event: string, whodunnit: string, object: text, created_at: datetime) 

The object have a information are 
--- 
id: 431 
heading: some text 
body: "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<html><body>\ndfklsjdalfjlds</body></html>\n" 
element_type_id: 5 
parent_id: 430 
position: 1 
version_id: 
created_at: 2016-04-18 04:35:52.916000000 Z 
updated_at: 2016-05-13 04:56:51.371376000 Z 
ended_at: 
lock_version: 85 
display_heading: false 
lock_time: 2016-05-13 04:56:51.000000000 Z 
locked_by: 16 
project_id: 
survey_id: 
cover_image_id: 
details: "{}" 
work_id: 


ElementVersion.where_object(parent_id: 430) 

Es wird eine Reihe von Aufzeichnungen Rückkehr, aber ich bin nicht in der Lage „Körper“ Inhalt aus der obigen Abfrage zuzugreifen. Haben Sie irgendwelche Ideen, wie Sie dieses Problem beheben können?

+0

Was passiert, wenn Sie versuchen, auf den Körper zuzugreifen? Ausnahme? Gibt 'nil' zurück? Wie erreichst du es? – katafrakt

Antwort

0

ElementVersion.where_object (parent_id: 430) Es wird eine Reihe von Aufzeichnungen Rückkehr, aber ich bin nicht in der Lage "Körper" zuzugreifen ..

Die Version.where_object Methode ein Relation von Version Objekten zurückgibt , genau wie die normale where Methode.

Der Abschnitt Basic Usage der Dokumentation beschreibt, wie Sie den ursprünglichen Datensatz aus einem Version Datensatz abrufen.

widget = Widget.find 153 
widget.name         # 'Doobly' 
widget.update_attributes :name => 'Wotsit' 
widget.versions.last.reify.name    # 'Doobly' 

So können Sie Ihren ElementVersion Datensatz zu erhalten, vermutlich reify, ein Element und dann #body auf es nennen.

Happy (Papier) Spuren!