誰かが私のコードが正しいと説明できますか?レイルアソシエーションでforeign_keyを使用するhas_many
私はrail_associationsでforeign_keyオプションを取得しようとしています。 ブックと著者
帳のDBスキーマ:
は私がモデルを持っている
- 名
- のuser_id
著者のDBスキーマ:
- 名
マイモデル:我々は両方のモデルでFOREIGN_KEYを定義する必要がある理由はここに
class Author < ApplicationRecord
has_many :books, foreign_key: :user_id
end
class Book < ApplicationRecord
belongs_to :author, foreign_key: :user_id
end
が、私は理解していません。それは必然ですか?
を参照してください。あなたはモデルの著者(定義されたforeign_keyなし)はテーブルブックのauthor_idフィールドを探します。だから、foreign_keyを明示的に定義する必要があるのはなぜですか? –
@DorianGそれは正しいです。私は答えにそれを加えました。 –
@WayneConradありがとう!私はあなたの答えを見つける前に、厳密なテストを通して自分自身の外的キーの効果を自分自身で発見しました。今私は本当にその事件を感じることができます!うまくいけば、 ':inverse_of'オプションに関するあなたの他の懸念は、間違いなくたくさんの努力を惜しまないでしょう:)なぜこれがレールガイド/ apiで明確に説明されていないのか疑問に思います。 –