チーム、ユーザー、リクエストという3つのモデル間で関連付けがうまくいくようになっています。同じモデル間で複数のhas_many関連を持つ多相関連
- チームにはユーザーがいます。
- ユーザーはリクエストを作成できます。
- 要求は、チームまたはユーザーのいずれかに割り当てることができます。ここで
私は現在、それらを持っているようなモデルです。
class User < ActiveRecord::Base
belongs_to :team
has_many :created_requests, as: :creator, class_name: "Request"
has_many :assigned_requests, class_name: "Request", as: :assignable, foreign_key: "assignable_id"
end
class Team < ActiveRecord::Base
has_many :users
has_many :assigned_requests, class_name: "Request", as: :assignable, foreign_key: "assignable_id"
end
class Request < ActiveRecord::Base
belongs_to :creator, class_name: "User"
belongs_to :assignable, polymorphic: true
end
関係の大半は、動作するようですが、私は、ユーザーのcreated_requestsを閲覧しようとして問題に遭遇。のみ -
をユーザーとcreated_requestsとの間の関係が多型ではないので、何のcreator_typeはありません私が手にエラーが「:PG :: UndefinedColumn:ERROR列requests.creator_typeが存在しないのActiveRecord :: StatementInvalid」でありますユーザー/チームとassigned_requestsの関係は多態的です。モデルでこれをどのように指定しますか?
ありがとうございます!