Herokuでうまくデプロイできていなかったので
heroku run console
で調べたところ次のようなエラーが出ました。
/app/vendor/bundle/ruby/3.0.0/gems/zeitwerk-2.5.4/lib/zeitwerk/loader/callbacks.rb:25:in `on_file_autoloaded’: expected file /app/app/serializers/〇〇_serializer.rb to define constant 〇〇Serializer, but didn’t (Zeitwerk::NameError)
解決法
config.autoloader = :classic
config/application.rbに追加する
〜〜 〜〜 #moduleから上は省略 module Api classApplication < Rails::Application # Initialize configuration defaults for originally generated Rails version. config.load_defaults6.1 # Configuration for the application, engines, and railties goes here. # These settings can be overridden in specific environments using the files # in config/environments, which are processed later. # config.time_zone = "Central Time (US & Canada)" # config.eager_load_paths << Rails.root.join("extras") # これを追加↓ config.autoloader = :classic # Only loads a smaller set of middleware suitable for API only apps. # Middleware like session, flash, cookies can be added back manually. # Skip views, helpers and assets when generating a new resource. config.api_only = true end end
追加して保存後に
bundle exec pumactl start
↑をコマンドしたところpumaを起動することができました。