NameError - 单位化常量 - 仅在生产中
NameError - unitilaized constant - only in production
我在 rails 上有一个 ruby 应用程序托管在 heroku 上。当我尝试在“开发”模式下 运行 创建项目时,一切正常,没有任何问题。但是,当我在“生产”模式下将应用程序切换到 运行 时,我得到以下信息。
这是 Ruby 2.2.x 升级到 2.5.x 和 rails 4.1 升级到 5.2.
关于为什么这在生产中失败但在开发中运行良好的任何想法或建议?
Started POST "/items" for 1.2.3.4 at 2020-10-19 03:22:06 +0000
2020-10-19T03:22:06.870055+00:00 app[web.1]: Processing by ItemController#create as HTML
2020-10-19T03:22:06.870358+00:00 app[web.1]: Parameters: {###Redacted##}
2020-10-19T03:22:06.926046+00:00 app[web.1]: Completed 500 Internal Server Error in 54ms (ActiveRecord: 15.8ms)
2020-10-19T03:22:06.999133+00:00 app[web.1]: I, [2020-10-19T03:22:06.998984 #11] INFO -- : Sending event 18b887c876d4524b5cd46849a98aaeb1 to Sentry
2020-10-19T03:22:07.271068+00:00 app[web.1]:
2020-10-19T03:22:07.271478+00:00 app[web.1]: NameError (uninitialized constant #<Class:0x0000567238d68165>::Slug):
2020-10-19T03:22:07.276183+00:00 app[web.1]:
2020-10-19T03:22:07.276248+00:00 app[web.1]: app/models/item.rb:305:in `name_to_slug'
2020-10-19T03:22:07.276248+00:00 app[web.1]: app/models/item.rb:293:in `generate_slug'
我将其追溯到位于“lib”文件夹中的自定义 class。从 Rails 4 移动到 5 似乎一些行为随着加载自定义 classes 而改变,需要考虑:
https://gist.github.com/maxivak/381f1e964923f1d469c8d39da8e2522f
我在 rails 上有一个 ruby 应用程序托管在 heroku 上。当我尝试在“开发”模式下 运行 创建项目时,一切正常,没有任何问题。但是,当我在“生产”模式下将应用程序切换到 运行 时,我得到以下信息。
这是 Ruby 2.2.x 升级到 2.5.x 和 rails 4.1 升级到 5.2.
关于为什么这在生产中失败但在开发中运行良好的任何想法或建议?
Started POST "/items" for 1.2.3.4 at 2020-10-19 03:22:06 +0000
2020-10-19T03:22:06.870055+00:00 app[web.1]: Processing by ItemController#create as HTML
2020-10-19T03:22:06.870358+00:00 app[web.1]: Parameters: {###Redacted##}
2020-10-19T03:22:06.926046+00:00 app[web.1]: Completed 500 Internal Server Error in 54ms (ActiveRecord: 15.8ms)
2020-10-19T03:22:06.999133+00:00 app[web.1]: I, [2020-10-19T03:22:06.998984 #11] INFO -- : Sending event 18b887c876d4524b5cd46849a98aaeb1 to Sentry
2020-10-19T03:22:07.271068+00:00 app[web.1]:
2020-10-19T03:22:07.271478+00:00 app[web.1]: NameError (uninitialized constant #<Class:0x0000567238d68165>::Slug):
2020-10-19T03:22:07.276183+00:00 app[web.1]:
2020-10-19T03:22:07.276248+00:00 app[web.1]: app/models/item.rb:305:in `name_to_slug'
2020-10-19T03:22:07.276248+00:00 app[web.1]: app/models/item.rb:293:in `generate_slug'
我将其追溯到位于“lib”文件夹中的自定义 class。从 Rails 4 移动到 5 似乎一些行为随着加载自定义 classes 而改变,需要考虑:
https://gist.github.com/maxivak/381f1e964923f1d469c8d39da8e2522f