1. ホーム
  2. ruby-on-rails

[解決済み] belongs_toとhas_oneの違いは何ですか?

2022-04-21 03:07:44

質問

とはどのような違いがあるのでしょうか? belongs_tohas_one ?

Ruby on Railsのガイドを読んでも役に立たなかった。

どうすればいい?

基本的に同じことをするのですが、唯一の違いは、あなたがどちらの側にいるかということです。もし User には Profile であれば、その中の User クラスでは has_one :profile で、その中に Profile クラスでは belongs_to :user . もう一方のオブジェクトを誰が持っているかを判断するには、外部キーがどこにあるかを見ます。つまり User を持つ。 Profile なぜなら profiles テーブルには user_id カラムがあります。というカラムがあった場合 profile_id の上に users テーブルを使用した場合、しかし、我々は Profile には User となり、belongs_to/has_oneの位置が入れ替わります。

ここで は、より詳細な説明です。