やりたいこと。
一覧ページにhas_many関係にある親と子を表示させたい。 似たような質問がありましたが、一応、ここにメモ。
# parent.rb
has_many :children
# children.rb
belongs_to :parent
# parent.controller
def index
@parents = Parent.includes(:children).all
end
includesメソッドを使うのがミソ。includesメソッドは関連するモデルをまとめて取得してくれます。構文はincludes(関連名)
です。
親の苗字(last_name)と子供の下の名前(first_name)を表示させたい。
# index.html.erb
<% @parents.each do |parent| %>
<%= parent.last_name %>
<% parent.children.each do |child| %>
<%= child.first_name %>
<% end %>
<% end %>