Rails Guides の患者 - 予約 - 医師のデータ モデルとほとんど同じ関連付けを作成しています。ユーザーはprospects
を通じて多くを持っていますprospect_subscription
。ただし、user.prospects
Rails コンソールにアクセスしようとすると、次のエラーがスローされます。
Rails couldn't find a valid model for Prospects association. Please provide the :class_name option on the association declaration. If :class_name is already provided, make sure it's an ActiveRecord::Base subclass. (NameError)
uninitialized constant User::Prospects (NameError)
3つのモデルすべてがすぐそこにあるので、これは奇妙です. 移行が実行され、サンプル データが取り込まれ、pgAdmin で確認できます。Rails がモデルを見つけられないのはなぜですか?
モデルで定義される関連付けは次のとおりです。
models/prospect.rb
class Prospect < ApplicationRecord
has_many :prospect_subscriptions
has_many :users, through: :prospect_subscriptions
end
models/user.rb
class User < ApplicationRecord
has_many :prospect_subscriptions
has_many :prospects, through: :prospect_subscriptions
end
models/prospect_subscription.rb
class ProspectSubscription < ApplicationRecord
belongs_to :user
belongs_to :prospect
end