0
とRailsの5に参加したデータを表示するための最良の方法を把握することはできません。シネマムービーはそうのような実行を通じて関係を持っている:は、私は3つのモデルを持っているhas_many_through関係
class Movie < ApplicationRecord
has_many :cinemas, -> { distinct }, through: :runs
has_many :runs
end
私は、各映画のためのランのリストを特定の映画の映画館のリストを表示しようとしている:
作品1
- シネマ1
- 12:30
- 午後3時00
- シネマ2
- 午前15時30分
- 16時00分
私は、データベース・コールを削減する方法を見つけ出すことはできません。今、私は、各映画のために電話をかけるので、数や映画館のためにその比例しています。
が 右に私には思われません@movie.cinemas.each do |cinema|
cinema.runs.where(movie_id: @movie.id).each do |run|
= run.time
あなたはincludes
を使用してruns
からループを開始するとRun
最初
class Run < ApplicationRecord
belongs_to :movie
belongs_to :cinema
end
に関係を追加する必要があり、この
しかし、どのような映画館のリストについてはどうですか? **:(movie_id&) – kabukiman
あなたが使用することができます '' –
は申し訳ありませんが、私はそれをタイプミスruns.first.cinema'、それは私が** @ movie.runs.group_by変更する場合にのみ機能します** @ movie.runs.group_by(&:cinema_id)に:手段** あなたは何を "&" の "(cinema_id&)" を説明できますか? –