Ruby 如何使用Sinatra应用程序抑制PaperTrail gem上的警告?

Ruby 如何使用Sinatra应用程序抑制PaperTrail gem上的警告?,ruby,sinatra,paper-trail-gem,Ruby,Sinatra,Paper Trail Gem,弃用警告:尚未设置PaperTrail.track\u关联。从PaperTrail 5开始,它默认为false。跟踪关联是一项实验性功能,因此建议在config/initializers/paper_trail.rb中设置PaperTrail.config.track_associations=false。(从require的/Users/george/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u requir

弃用警告:尚未设置PaperTrail.track\u关联。从PaperTrail 5开始,它默认为false。跟踪关联是一项实验性功能,因此建议在config/initializers/paper_trail.rb中设置PaperTrail.config.track_associations=false。(从require的/Users/george/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:68调用) 运行选项:

由于这不是Rails应用程序,因此没有
config/initializers/paper\u trail.rb
。查看
https://github.com/airblade/paper_trail/blob/master/lib/generators/paper_trail/install_generator.rb
,但未看到配置文件的生成器

如果我这样做

require 'paper_trail'
PaperTrail.config.track_associations = false
它仍然发出警告

还尝试:

def PaperTrail; end
PaperTrail.config.track_associations = false
require 'paper_trail'

这是一个“经典”的Sinatra应用程序。

发生这种情况的原因是调用
require'paper\u trail'
初始化
PaperTrail.config
对象:行导致需要获取文件,执行该行导致初始化
config
单例。我们可以通过先设置config对象,然后在以后需要顶级
文件来解决这个问题

# app.rb

require 'sinatra'
require 'paper_trail/config'

config = PaperTrail::Config.instance
config.track_associations = true

# require models here
Dir["#{Dir.pwd}/models/*.rb"].each { |file| require file }

# rest of app code
而且模型不需要任何更改:

# models/article.rb

require 'paper_trail'

class Article < ActiveRecord::Base
  has_paper_trail
end
#models/article.rb
需要“书面记录”
类文章

因此,当执行
require'paper\u trail'
调用时,我们已经有了正确的配置设置,警告将不会显示。

发生这种情况的原因是调用
require'paper\u trail'
初始化
PaperTrail.config
对象:行结果导致文件需要,执行,从而初始化
配置
单例。我们可以通过先设置config对象,然后在以后需要顶级
文件来解决这个问题

# app.rb

require 'sinatra'
require 'paper_trail/config'

config = PaperTrail::Config.instance
config.track_associations = true

# require models here
Dir["#{Dir.pwd}/models/*.rb"].each { |file| require file }

# rest of app code
而且模型不需要任何更改:

# models/article.rb

require 'paper_trail'

class Article < ActiveRecord::Base
  has_paper_trail
end
#models/article.rb
需要“书面记录”
类文章

因此,当执行
require'paper\u trail'
调用时,我们已经有了正确的配置设置,警告将不会显示。

我在
类应用程序的定义中将
PaperTrail.config.track\u associations=false
添加到
配置/application.rb
中,我将
PaperTrail.config.track\u associations=false
添加到
config/application.rb
类应用程序的定义中

我创建了一个裸体应用程序并签出了Papertrail的代码。还有很多由
驱动的调试:DWow,这是一项重要的工作。非常感谢。至少我知道下次该怎么做。我创建了一个赤裸裸的应用程序,并查看了Papertrail的代码。还有很多由
驱动的调试:DWow,这是一项重要的工作。非常感谢。至少我知道下次该怎么解决。