一对多的关系和包括

时间:2011-07-19 13:16:00

标签: ruby-on-rails

我的问题是:视图中的每个条目都调用了新的sql查询,而我在控制器中使用了include。这些SQL查询效率不高。任何帮助将不胜感激。

参赛作品型号

has_many :training_entries

TrainingEntry模型

belongs_to :entry

条目控制器

@entries = Entry.includes(:training_entries)

视图

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

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

<% end %>

1 个答案:

答案 0 :(得分:2)

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

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

<% end %>

如果需要过滤多个元素,请使用select更改检测。