Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Heroku部署错误:在:ActiveRecord::Migration::CheckPending(RuntimeError)之后没有要插入的中间件_Ruby On Rails_Heroku_Activerecord - Fatal编程技术网

Ruby on rails Heroku部署错误:在:ActiveRecord::Migration::CheckPending(RuntimeError)之后没有要插入的中间件

Ruby on rails Heroku部署错误:在:ActiveRecord::Migration::CheckPending(RuntimeError)之后没有要插入的中间件,ruby-on-rails,heroku,activerecord,Ruby On Rails,Heroku,Activerecord,我的rails api应用程序在本地运行良好,但部署到heroku时会崩溃。应用程序成功推送到heroku,但出现警告“检测rails配置失败”,通过运行“heroku运行rails控制台”启动heroku控制台时显示以下错误: 10: from /app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/initializable.rb:32:in `instance_exec' 9: from

我的rails api应用程序在本地运行良好,但部署到heroku时会崩溃。应用程序成功推送到heroku,但出现警告“检测rails配置失败”,通过运行“heroku运行rails控制台”启动heroku控制台时显示以下错误:

        10: from /app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/initializable.rb:32:in `instance_exec'
         9: from /app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/application/finisher.rb:108:in `block in <module:Finisher>'
         8: from /app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/engine.rb:521:in `app'
         7: from /app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/engine.rb:521:in `synchronize'
         6: from /app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/engine.rb:524:in `block in app'
         5: from /app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/configuration.rb:94:in `merge_into'
         4: from /app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/configuration.rb:94:in `each'
         3: from /app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/configuration.rb:95:in `block in merge_into'
         2: from /app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/configuration.rb:60:in `block in insert_after'
         1: from /app/vendor/bundle/ruby/2.6.0/gems/actionpack-6.1.3.1/lib/action_dispatch/middleware/stack.rb:109:in `insert_after'
/app/vendor/bundle/ruby/2.6.0/gems/actionpack-6.1.3.1/lib/action_dispatch/middleware/stack.rb:162:in `assert_index': No such middleware to insert after: ActiveRecord::Migration::CheckPending (RuntimeError)
10:from/app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/initializable.rb:32:in'instance_exec'
9:from/app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/application/finisher.rb:108:in'block in'
8:from/app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/engine.rb:521:in'app'
7:from/app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/engine.rb:521:in'synchronize'
6:from/app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/engine.rb:524:in'block-in-app'
5:from/app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/configuration.rb:94:in'merge_-in'
4:from/app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/configuration.rb:94:in'each'
3:from/app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/configuration.rb:95:in'block in merge_in'
2:from/app/vendor/bundle/ruby/2.6.0/gems/railties-6.1.3.1/lib/rails/configuration.rb:60:in'block in insert_after'
1:from/app/vendor/bundle/ruby/2.6.0/gems/actionpack-6.1.3.1/lib/action\u dispatch/middleware/stack.rb:109:in'insert\u after'
/app/vendor/bundle/ruby/2.6.0/gems/actionpack-6.1.3.1/lib/action\u dispatch/middleware/stack.rb:162:在“assert\u index”中:在ActiveRecord::Migration::CheckPending之后没有插入这样的中间件(运行时错误)
我试过:

  • 卸载gems
  • 在config/environments/production.rb中将config.public_file_server.enabled设置为true
  • 更新ruby和rails并捆绑更新my gems

找到了答案。。设置omniauth时,application.rb中还有一行代码:

config.middleware.insert_after ActiveRecord::Migration::CheckPending, ActionDispatch::Cookies
移除它解决了问题:)