3

Je travaille sur un bug sur un moteur de rails en utilisant à la fois paper_trail et acts_as_taggable_on. Lorsque je annule un événement supprimé, les détails de l'événement sont restaurés, mais pas les balises. Quelqu'un est-il tombé sur ce même problème?Utiliser paper_trail pour réorganiser acts_as_taggable_on associations

Quelques informations pertinentes:

modèles/calagaor/event.rb

class Event < ActiveRecord::Base 
    has_paper_trail 
    acts_as_taggable 
end 

J'ai aussi créé une config/initializers/fichier act_as_taggable.rb:

ActsAsTaggableOn::Tag.class_eval do 
    has_paper_trail 
end 

ActsAsTaggableOn::Tagging.class_eval do 
    has_paper_trail 
end 

Je suis assez nouveau sur les rails, donc je ne suis pas sûr si je suis dans la bonne direction ou non. Faites-moi savoir si vous avez besoin de plus de détails. Merci!

Edit:

contrôleurs/calagator/versions_controller.rb

module Calagator 

class VersionsController < Calagator::ApplicationController 
    def edit 
    @version = PaperTrail::Version.find(params[:id]) 
    @record = @version.next.try(:reify) || @version.item || @version.reify 

    singular = @record.class.name.singularize.underscore.split("/").last 
    plural = @record.class.name.pluralize.underscore.split("/").last 
    self.instance_variable_set("@#{singular}", @record) 

    if request.xhr? 
     render :partial => "calagator/#{plural}/form", :locals => { singular.to_sym => @record } 
    else 
     render "calagator/#{plural}/edit", :locals => { singular.to_sym => @record } 
    end 
    end 
end 

end 

J'utilise paper_trail '3.0.8'

+0

https://github.com/airblade/paper_trail#diffing-versions –

+0

Selon la documentation, « Papertrail ne stocke que les changements pour la création et les mises à jour, il doesn Ne stockez rien quand un objet est détruit. " J'essaye de réifier les associations sur un événement supprimé. – alexandraleigh

+0

Cette ligne du readme est trompeuse hors contexte. Il fait référence à la méthode 'changeset', pas à la création d'enregistrements dans la table' versions'. –

Répondre