おけらのブログ++

駆け出しWebエンジニアの奮闘記

RailsでLoadError: Unable to autoload constantの原因

Railsで下記エラーが出て結構ハマってしまったのでその原因をメモしておきます。

Unable to autoload constant Relation_User, expected *********app/models/relation_user.rb to define it

原因

どこかで、間違えてRelation_Userという名前を書いてしまっている。
RelationUserではなくRelation_userをロードしようとして失敗している。

探してみるとModelのUserクラスで間違っていました。

  has_many :reverses_of_relation_user, class_name: 'Relation_user', foreign_key: 'follow_id'

Model名にアンダーバーを使ってもクラス名にアンダーバーはつかない

Model名:Relation_user
Class名 :RelationUser

そのためClassを修正して解決しました。

  has_many :reverses_of_relation_user, class_name: 'RelationUser', foreign_key: 'follow_id'

あとはGitのissueにメモして終わり。