以为Heroku push成功? 来个回马枪 zeitwerk/~~/callbacks.rb:17:in `on_f

标题很丑,只希望当有遇到相同问题时,能找到这篇解决问题~~

大家好,我是Sean,既上偏Heroku跟Postgresql 问题,希望有帮助到大家,

直接正题,Push成功后,再来就是open apk

没想到结果fail,如图
http://img2.58codes.com/2024/20126905bwP8doiv1a.png

之前以为push然后heroku run rake db:migrate成功就行了,结果来个回马枪想不到吧,谁说没有枪头就~~

当heroku run rails c 发生问题,表示rails没安装成功,有猫腻

于是看了log如图
http://img2.58codes.com/2024/20126905vT4TafDbgG.png

zeitwerk/loader/callbacks.rb:17:in `on_file_autoloaded'

Zeitwerk::NameError

解决方法 改controller.rbconfig/application.rb

第一修改controller.rb语法

如图原为红色注解掉的
http://img2.58codes.com/2024/20126905nascynIvbG.png
改成蓝色 module 跟class这样,所有controller都修改

第二修改config/application.rb
http://img2.58codes.com/2024/20126905VAtypxeHic.png
来源stackoverflow
config/application.rb 新增 config.autoloader = :classic

从 Rails 6 之后开始使用 Zeitwerk,发生问题,详细可以看autoload

修改后,建议在本地端rails s 有没有成功,push上heroku

记得heroku run bundle install, heroku run rails db:migrate

如果heroku run rails c成功,表示解决了

自己的小範本,排版很丑,请见谅shop

以上解决gems/zeitwerk-2.3.0/lib/zeitwerk/loader/callbacks.rb: Zeitwerk::NameError

从Postgresql 问题到Zeitwerk,花了快三天debug,正所谓无情debug

心得感想,临摹别人的程式好处是快,但缺点是程式版本影响出现很多error,如这篇,所以就要靠自己决心跟意志力了


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章