/ / eine zu viele Beziehung und beinhaltet - Ruby-on-Schienen

Eine zu viele Beziehung und umfasst - Ruby-on-Schienen

Mein Problem ist: Jeder Eintrag in View ruft eine neue SQL-Abfrage auf, obwohl ich in Controller verwendet habe. Diese SQL-Abfragen sind nicht effizient. Jede Hilfe wird geschätzt.

Einstiegsmodell

has_many :training_entries

TrainingEntry-Modell

belongs_to :entry

Einträge Controller

@entries = Entry.includes(:training_entries)

Aussicht

<% @entries.each do |entry| %>

<% if entry.training_entries.where("category_id =?",1).exists? %>
ok
<% end %>

<% end %>

Antworten:

2 für die Antwort № 1
<% @entries.each do |entry| %>

<% if entry.training_entries.detect { |t_entr| t_entr.category_id == 1 } %>
ok
<% end %>

<% end %>

Ändern Sie mit select, wenn Sie mehr als ein Element filtern müssen.