我正尝试使用papertrail在单独的数据库中记录模型的更改事件。
使用Rails 4.1.2
Ruby 2.1
文档跟踪4.0.0
下面是我在关注点中添加的代码
module Foo
class Base < ActiveRecord::Base
end
class Version < Base
include PaperTrail::VersionConcern
end
class Topic < Base
has_paper_trail class_name: 'Foo::Version'
end
end
Foo::Base.establish_connection(:trail_development)
字符串
我已将此Foo包含在topic.rb中
class Topic < ActiveRecord::Base
include Foo
end
型
当我试图创建、编辑或删除主题时,这不起作用。
参考https://github.com/airblade/paper_trail/pull/289
1条答案
按热度按时间u0sqgete1#
在Rails 6.0或更高版本中,这可以通过创建一个抽象的Version类连接到一个单独的数据库来完成,如下所示:
字符串
在Rails中,必须将模型定义为抽象模型,才能使用不同的数据库连接。
PaperTrail允许您通过扩展其
PaperTrail::Version
基类来定义自定义Version类。这可以通过创建一个添加
has_paper_trail
调用的模块来进一步抽象。