标题很丑,只希望当有遇到相同问题时,能找到这篇解决问题~~
大家好,我是Sean,既上偏Heroku跟Postgresql 问题,希望有帮助到大家,
直接正题,Push成功后,再来就是open apk
没想到结果fail,如图
之前以为push然后heroku run rake db:migrate成功就行了,结果来个回马枪想不到吧,谁说没有枪头就~~
当heroku run rails c 发生问题,表示rails没安装成功,有猫腻
于是看了log如图
zeitwerk/loader/callbacks.rb:17:in `on_file_autoloaded'
Zeitwerk::NameError
解决方法 改controller.rb
跟 config/application.rb
第一修改controller.rb
语法如图原为红色注解掉的
改成蓝色 module 跟class这样,所有controller都修改
config/application.rb

来源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,如这篇,所以就要靠自己决心跟意志力了