2016-11-01 2 views
0

Ich habe die folgende Methode:paper_trail whodunnit nur für Kinder Speichern von Objekten nicht Eltern

def save_everything 
    person.whodunnit("import_v2_file_id_#{file_id}") do 
     person.save! 
    end 
    end 

person.save! ist ein Update für eine Person und eine Reihe von neuen Kind-Objekte, einschließlich Telefon- und Adressdatensätze speichern.

Die whodunnit basiert auf den Versionen für die Kind-Objekte festgelegt zu werden, aber ich verstehe nicht, warum es nicht auf die Version für die Person Rekord bekommen: -/

Also - ich mit dem folgenden Ende:

#<PaperTrail::Version id: 21, item_type: "Phone", item_id: 7, event: "create", whodunnit: "import_v2_file_id_1", object: nil, created_at: "2016-11-01 20:06:40">, 
#<PaperTrail::Version id: 22, item_type: "Phone", item_id: 8, event: "create", whodunnit: "import_v2_file_id_1", object: nil, created_at: "2016-11-01 20:06:40">, 
#<PaperTrail::Version id: 23, item_type: "Phone", item_id: 9, event: "create", whodunnit: "import_v2_file_id_1", object: nil, created_at: "2016-11-01 20:06:40">, 
#<PaperTrail::Version id: 24, item_type: "Address", item_id: 7, event: "create", whodunnit: "import_v2_file_id_1", object: nil, created_at: "2016-11-01 20:06:40">, 
#<PaperTrail::Version id: 25, item_type: "Address", item_id: 8, event: "create", whodunnit: "import_v2_file_id_1", object: nil, created_at: "2016-11-01 20:06:40">, 
#<PaperTrail::Version id: 26, item_type: "Address", item_id: 9, event: "create", whodunnit: "import_v2_file_id_1", object: nil, created_at: "2016-11-01 20:06:40">, 
#<PaperTrail::Version id: 29, item_type: "Person", item_id: 1, event: "update", whodunnit: nil, object: "---\nid: 1\norganization_id: 1\nstate: \ntype: Individu...", created_at: "2016-11-01 20:06:41">, 
#<PaperTrail::Version id: 30, item_type: "Person", item_id: 1, event: "update", whodunnit: nil, object: "---\nid: 1\norganization_id: 1\nstate: \ntype: Individu...", created_at: "2016-11-01 20:06:41">, 
#<PaperTrail::Version id: 31, item_type: "Person", item_id: 1, event: "update", whodunnit: nil, object: "---\nid: 1\norganization_id: 1\nstate: \ntype: Individu...", created_at: "2016-11-01 20:06:41"> 

Gibt es etwas eklatant in meiner Umsetzung hier?

Ich bin Schienen 3.2 und 5.2.2 paper_trail

+0

Ich bin mir bewusst, dass ich ein Limit von 3 Versionen gesetzt habe - und vielleicht verursacht das Erstellen/Hinzufügen der zugehörigen Datensätze eine Art Rückruf: - / – latazzajones

Antwort

0

Es stellt sich heraus, dass es Rückrufe waren im Zusammenhang mit der Erstellung der untergeordneten Datensätze mit und ich hatte meine Versionen bis 3 beschränkt ... so, wenn das Kind Aufzeichnungen erstellt werden, wurde die entsprechende Version gelöscht.

Verwandte Themen