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'
https://github.com/airblade/paper_trail#diffing-versions –
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
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'. –