NoMethodError - 升级Rails 4.2后的Paper trail问题的未定义方法`timestamp_sort_order'

问题描述 投票:4回答:2

当我将rails 3.2迁移到rails 4.2时,我使用paper_trail来跟踪跨国变化,有以下问题:

NoMethodError - 未定义的方法`timestamp_sort_order'

ruby ruby-on-rails-4.2 paper-trail-gem
2个回答
4
投票

我通过在初始化程序papertrail.rb文件中添加以下行来修复此问题

PaperTrail::Rails::Engine.eager_load!

请参阅我的final initializers / papertrail.rb文件

PaperTrail::Rails::Engine.eager_load!

module PaperTrail

  class Version < ActiveRecord::Base
    .....
  end

end

问题解决了......


0
投票

在rails 6.0.0beta3上得到了这个,因为我修补了papertrail而忘了添加PaperTrail::VersionConcern,例如:

module PaperTrail
  class Version < ::ActiveRecord::Base
    include PaperTrail::VersionConcern
  end
end

PaperTrail::Rails::Engine.eager_load!没有为我解决它

看着source code它直接在ActiveRecord::Base模型上调用它,它是在PaperTrail::VersionConcern上定义的。

© www.soinside.com 2019 - 2024. All rights reserved.