首页 > 解决方案 > 生产中的 Rails 重定向循环,开发中一切正常

问题描述

我遇到了 Rails 的问题,在生产中它会在日志文件中生成错误,但在开发模式下没有任何内容:

I, [2019-10-16T12:02:16.953954 #11866]  INFO -- : [e5d5e3b6-2a9c-4d27-b1f3-2d5a1b76ce5a] Started GET "/" for 155.186.157.103 at 2019-10-16 12:02:16 -0500
I, [2019-10-16T12:02:16.955549 #11866]  INFO -- : [e5d5e3b6-2a9c-4d27-b1f3-2d5a1b76ce5a] Processing by Devise::SessionsController#new as HTML
I, [2019-10-16T12:02:16.956733 #11866]  INFO -- : [e5d5e3b6-2a9c-4d27-b1f3-2d5a1b76ce5a]   Rendering devise/sessions/new.html.erb within layouts/application
I, [2019-10-16T12:02:16.958443 #11866]  INFO -- : [e5d5e3b6-2a9c-4d27-b1f3-2d5a1b76ce5a]   Rendered devise/shared/_links.html.erb (0.3ms)
I, [2019-10-16T12:02:16.958796 #11866]  INFO -- : [e5d5e3b6-2a9c-4d27-b1f3-2d5a1b76ce5a]   Rendered devise/sessions/new.html.erb within layouts/application (2.0ms)
E, [2019-10-16T12:02:29.471353 #11866] ERROR -- : [2c2037b2-3b07-495d-b936-778c070e1ad7] undefined method `[]' for nil:NilClass
I, [2019-10-16T12:02:29.473147 #11866]  INFO -- : [2c2037b2-3b07-495d-b936-778c070e1ad7] Redirected to [redacted-for-stackoverflow]
I, [2019-10-16T12:02:29.473928 #11866]  INFO -- : [2c2037b2-3b07-495d-b936-778c070e1ad7] Completed 302 Found in 22438ms (ActiveRecord: 0.0ms)
E, [2019-10-16T12:02:39.225917 #11866] ERROR -- : [e5d5e3b6-2a9c-4d27-b1f3-2d5a1b76ce5a] undefined method `[]' for nil:NilClass
I, [2019-10-16T12:02:39.227867 #11866]  INFO -- : [e5d5e3b6-2a9c-4d27-b1f3-2d5a1b76ce5a] Redirected to [redacted-for-stackoverflow]
I, [2019-10-16T12:02:39.229075 #11866]  INFO -- : [e5d5e3b6-2a9c-4d27-b1f3-2d5a1b76ce5a] Completed 302 Found in 22273ms (ActiveRecord: 0.0ms)

但是,如果我加载开发模式,登录页面就会出现。我无法弄清楚是什么可能导致此错误,因为该错误无法描述问题所在的位置。

我遇到了另一个帖子,暂时更改config.consider_all_requests_local = falseconfig.consider_all_requests_local = truein,config/environments/production.rb但这并没有改变任何东西。没有提供其他信息。

我如何追查这个仅在生产中发生的问题?

我实际上已经替换了所有内容layouts/application.html.erb以尝试指出问题所在,但没有运气。我注意到rake assets:precompile同样的错误也失败了,所以它可能存在某种问题。

标签: ruby-on-railsruby

解决方案


在对此进行了更多故障排除之后,它最终归结为一个样式表,.css而不是.css.scss因为它正在加载一些 rails 的东西。我只是遇到这个,因为rake assets:precompile一直失败。


推荐阅读