現在、私のアプリには次のモデルがあります。
- 学生(他のモデルにはまだ接続されていません)
- 道場:
has_many :training_times
- トレーニングの時間:
belongs_to :dojo
学生には多くのトレーニング時間を与え、トレーニング時間には多くの学生が必要です。
現在、学生コントローラーには次のものがあります。
def show
@student = Student.includes(:senseis).find(params[:id])
@times = TrainingTime.includes(:dojo).order("time ASC")
@times = sort_by_place_and_day(@times)
end
次に、次のようにレンダリングします。
トレーニング時間が現在の学生に関連付けられている場合は、赤で強調表示したいので、次のようにします。
<% if time.students.exists?(@student) %>
<td class="orange">...</td>
<% else %
<td class="normal">...</td>
<% end % >
私の質問は次のとおりです。これは毎回データベースにクエリを実行しますか? 2 つのモデルを関連付けたり含めたりしないようにするにはどうすればよいですか?