uninitialized constantエラーが起きる原因
uninitialized constant errorを直訳すると「初期化されていない定数のエラー」という意味
Railsでは「定数やclassが定義されていない」ことを意味
uninitialized constantは名前が間違っているという意味のNameErrorということ
つまり、ファイル名の記述間違いなどで、呼びたいクラス名を記述出来ていない場合などでエラーが発生します。
#実際に出たエラー
NameError in Users::RegistrationsController#create
uninitialized constant User::GenderId
#ここから考えたこと
う〜んUser::GenderIdでエラーが発生してるみたいだから、GenderIdに関わる内容を確認してみたほうがよさそうだな。Railsでは「定数やclassが定義されていない」ことを意味する。。。ということはclass名やモデル名で定義しないといけないところをGenderIdで定義しているのでは。。。おっ!!
#原因
(省略)
extend ActiveHash::Associations::ActiveRecordExtensions
belongs_to :gender_id
(省略)
アソシエーションを間違えていたみたいです。。。
アソシエーションはテーブル同士で関連付けておき、一方のモデルからもう一方のモデルにアクセスできるようへするためのものなので、
今回の場合だと**「GenderIdにアクセスしようとしたけどそんなものないですよ」**と伝えてくれていたみたいです。 ⬅︎ という認識であってます??
(省略)
extend ActiveHash::Associations::ActiveRecordExtensions
belongs_to :gender
(省略)
上記のように編集したことで解決しました!!(Genderは定義されているので)
完全な凡ミスでした。。。