ユーザーが回答した質問を定義するための多数のスルー リレーションシップがあります。
ユーザーが作成した質問の関係を設定するにはどうすればよいですか?
通常は、ユーザーと質問の間に has_many と belongs_to の関係を作成するだけですが、これで has_many も行っているため、うまくいきません。
これが私がこれまでに持っているものです:
モデル:
Users
Questions
Answered_questions
ユーザーモデル
has_many :answered_questions
has_many :questions, :through => :answered_questions
質問モデル:
has_many :answered_questions
has_many :users, :through => :answered_questions
Answered_questions モデル
belongs_to :question
belongs_to :user
編集
私はこの答えを見つけました: https://stackoverflow.com/a/12637532/756623、これを試すようになりました:
ユーザーモデルの追加:
has_many :questions_created, :class_name => "Question", :inverse_of => :created_by
質問モデルの追加:
belongs_to :created_by, :class_name => "User", :foreign_key => "created_by_id", :inverse_of => :questions_created
また、列created_by_id
を質問テーブルに追加しました
現在... は列 user_id
に追加されていません。created_by_id
何が間違っていますか?