複数のRailsデモプロジェクトが同時起動しているのでテーブル名の接頭語に「 play_ 」を付与しています。
--- INNER JOIN --- ※has_oneのモデル名は単数形 ※ココのhas_oneはhas_many、belongs_toに変更可能 // play_owner.rb class PlayOwner < ApplicationRecord has_one :play_cat has_one :play_prefecture end // play_cat.rb class PlayCat < ApplicationRecord end // play_prefecture.rb class PlayPrefecture < ApplicationRecord end --- LEFT JOIN --- ※モデル名の単数形、複数形に注意 // play_category.rb class PlayCategory < ApplicationRecord has_many :play_articles end // play_article.rb class PlayArticle < ApplicationRecord belongs_to :play_category has_many :play_accesses has_many :play_authors end // play_access.rb class PlayAccess < ApplicationRecord belongs_to :play_article end // play_author.rb class PlayAuthor < ApplicationRecord belongs_to :play_article end
<Active Record の関連付け>
Active Recordの関連付け(アソシエーション: association) (Railsガイド)
<Active RecordのDB操作>
RailsのActive Recordの解説&メソッドまとめ (Qiita)
ActiveRecord CRUDサンプル (Qiita)