Ruby on rails Rails 5:从development.rb中删除quiet_assets_path时出错
我一直在尝试将我的应用程序从Rails 4升级到Rails 5。在我的Rails4版本中,我设置了安静的路径,但在Rails5中,它不是必需的。但是当我删除试图启动服务器的文件时,我得到了以下错误:Ruby on rails Rails 5:从development.rb中删除quiet_assets_path时出错,ruby-on-rails,ruby,ruby-on-rails-4,ruby-on-rails-5,Ruby On Rails,Ruby,Ruby On Rails 4,Ruby On Rails 5,我一直在尝试将我的应用程序从Rails 4升级到Rails 5。在我的Rails4版本中,我设置了安静的路径,但在Rails5中,它不是必需的。但是当我删除试图启动服务器的文件时,我得到了以下错误: > ruby-2.2.2/gems/rack-mini-profiler-0.10.2/lib/mini_profiler_rails/railtie.rb:93:in > `>': comparison of Fixnum with nil failed (ArgumentErr
> ruby-2.2.2/gems/rack-mini-profiler-0.10.2/lib/mini_profiler_rails/railtie.rb:93:in
> `>': comparison of Fixnum with nil failed (ArgumentError) from
> /Users/Admin/.rvm/gems/ruby-2.2.2/gems/rack-mini-profiler-0.10.2/lib/mini_profiler_rails/railtie.rb:93:in
> `block in <class:Railtie>'
当我注释删除行时,服务器将启动,但如果未注释该行,则服务器将中断。感谢更新。首先,您是否也在
开发
环境中使用Rack::Deflater
中间件
我想这可能对你有帮助。它基本上说,在所有的Rails中。您可以使用上述问题中描述的交换
方法
如果您在回购问题中搜索“Deflater”,您会发现很多结果,但我相信上面包含您的修复。您确定Rack::MiniProfiler仍在您的中间件堆栈中吗?这是你的错误。我猜gem monkey会修补一些中间件,可能是
Rails::Rack::Logger
。请检查编辑
if Rails.env.development? || Rails.env.production?
require 'rack-mini-profiler'
# initialization is skipped so trigger it
Rack::MiniProfilerRails.initialize!(Rails.application)
Rack::MiniProfiler.config.skip_schema_queries = true
Rack::MiniProfiler.config.skip_paths += %w(/admin/sidekiq)
Rails.application.middleware.delete(Rack::MiniProfiler)
Rails.application.middleware.insert_after(Rack::Deflater, Rack::MiniProfiler)
end