例
たぶんこう言うnamespece内に作ったクラスを呼ぶ時にこのエラーが起きてると思う。
# app/models/some_namespace/your_model.rb
module SomeNamespace
class YourModel
...
...
end
end
通常これでRails側がちゃんとロードしてくれるが、developmentでrails s
した状態で上のようなクラスを呼ぶファイルを更新した時にreload
が裏で走り、SomeNamespace::YourModel
が無いよ的なエラーになってしまう。
解決方法
色々試してみたが、「定数読み込み順と名前空間」地獄とrequire_dependencyのやり方が一番安定してるっぽい。
# app/models/some_namespace/your_model.rb
# 最初から自分でつなげておく...
class SomeNamespace::YourModel
...
...
end
試した事
-
SomeNamespace::YourModel
を::SomeNamespace::YourModel
と変える(頭に::を付ける)
これはこれで動くが全部の箇所で::
を付けなければいけない - development.rbで
config.eager_load = true
(全くの見当違い)