質問: ユーザーに紐づく銀行口座設定の実装を行っています。 関連するテーブルとして、 * banksテーブル:銀行(各銀行の情報) * bank_branchesテーブル:銀行支店(上記銀行テーブルに紐づく) * user_bank_accountテーブル:ユーザー銀行口座設定(上記銀行テーブル, 銀行支店テーブルに紐づく) 以上のモデルを作成しました。 こういった場合だと、 銀行テーブルと銀行支店テーブルはあるユーザの銀行口座設定テーブルに属している => UserBankAccountモデルに belongs_to :bank, :bank_branch とすれば良いのでしょうか?また、他に has_manyすべき点などがありましたら、ご教示いただきたいです。 よろしくお願い致します。
回答: どちらが一意になるかを考えるとわかりやすいのではないかと思います。 口座に対して、銀行支店は一意になりますよね? 銀行支店に取っては、銀行そのものは一意になりますよね? で、対比は 銀行 1: 支店:n 支店 1: 口座:n なので、 bank has_many: bank_branches bank_branches has_many: user_bank_account という流れになるでしょう。