【发布时间】:2016-07-14 15:39:43
【问题描述】:
我这样查询是为了返回一个 ActiveRecord 对象集合:
@animals = Animal.all
然后在我的代码的其他地方,我从该集合中获取记录:
#fires off additional sql query but I do not want it to
@specific_animals = @animals.where(animal_type: 'mammal')
#fires off additional sql query but I do not want it to
@specific_animals = @animals.where(animal_type: 'bird')
我只希望Animal.all 的第一条语句触发一个sql 查询。我认为,一旦你有了集合,就没有理由再次查询数据库以获取该集合上的过滤器。
问题:我如何才能过滤该 ActiveRecord 集合,而无需对数据库进行额外查询?
【问题讨论】:
标签: ruby-on-rails ruby