自身が他のテーブルをたどるキーを所持している場合は、belongs_to
自身が他のテーブルからたどるキーで示されている場合は、has_one
belongs_to
class Book < ApplicationRecord belongs_to :author end
と書くとすると Bookテーブルが、author_idをカラムに持っていてAuthorをたどれます。
has_one
class Supplier < ApplicationRecord has_one :account end
Supplierのテーブルにはaccountのidなどはもっていません。 しかし、Accountテーブルはsupplier_idのようにこちらを示すカラムがある場合です。
まとめ
1対1の関係で以上のbelongs_toとhas_oneを書き合う、といったところですね。 親と子供、従属かなどの視点で考えてみるとわかりやすいかもしれません。
参考 Active Record の関連付け (アソシエーション) | Rails ガイド コードはrails guidesからお借りしています。