使用paper_trail来重新定义acts_as_taggable_on关联

时间:2015-08-08 00:31:28

标签: ruby-on-rails ruby-on-rails-4 rails-engines acts-as-taggable-on paper-trail-gem

我正在使用paper_trail和acts_as_taggable_on处理rails引擎上的错误。当我回滚已删除的事件时,将恢复事件详细信息,但不会恢复标记。有没有人遇到同样的问题?

一些相关信息:

models / calagaor / event.rb

class Event < ActiveRecord::Base
  has_paper_trail
  acts_as_taggable 
end

我还创建了一个config / initializers / act_as_taggable.rb文件:

ActsAsTaggableOn::Tag.class_eval do
  has_paper_trail
end

ActsAsTaggableOn::Tagging.class_eval do
  has_paper_trail
end 

我对铁轨很陌生,所以我不确定自己是否朝着正确的方向前进。如果您需要更多详细信息,请告诉我们。谢谢!

编辑:

控制器/ 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

我使用的是paper_trail&#39; 3.0.8&#39;

1 个答案:

答案 0 :(得分:1)

  

[我如何使用] paper_trail来修改acts_as_taggable_on关联?   我使用的是paper_trail&#39; 3.0.8&#39;

paper_trail 3没有做关联。尝试升级到paper_trail 4。

文档:https://github.com/airblade/paper_trail#associations