2017-07-18 7 views
1

Ich habe eine Rails 4.2 App und ich möchte Audit-Verlauf für Tags mit Hilfe von PaperTrail.Rails: wie man PaperTrail Auditing für Tags aktiviert

Idealerweise würden die Tags protokolliert, als wären sie einfach ein Attribut des markierten Modells, d. H. Modell # tag_list.

Ich habe die Protokollierung von Markierungen aktiviert, indem diese in einem Initialisierer setzen:

module ActsAsTaggableOn 
    class Tagging 
    has_paper_trail 
    end 
end 

... Dies gilt Versionen für das Tagging schaffen, sondern gibt mir nicht das gewünschte Verhalten, die die Tags als einfach erscheinen soll haben ein tag_list-Attribut des markierten Modells.

+0

Zwei Vorschläge: 1. Verwenden Sie Version Metatadata (https://github.com/airbla/de/paper_trail#4c-storing-m Metadaten) 2. Verwenden Sie das Association Tracking (https://github.com/airbla/de/paper_trail#4b-associations) –

Antwort

0

Es macht wohl Sinn Versionierung Assoziationen

PaperTrail.config.track_associations = true 

danach zu schließen, können Sie zum Beispiel tun

subject.versions.last.reify(has_many: true) 

wenn Sie „tag_list“ Sie einen Wrapper schreiben können, die Liste führt zurück benötigt

def tag_list 
    tagging.pluck(:title) #for_example 
end