使用ROR过滤加载的数据

时间:2015-07-08 08:26:10

标签: ruby-on-rails activerecord

我首先使用一对多活动记录预加载另一个activerecord。 是否可以过滤掉以下数据而无需再次查询数据库?

animal = @Animals.all.includes({:cats})
animal.where([:cat_category=>"home_cat"]) ### This one

1 个答案:

答案 0 :(得分:0)

如果它位于方法内,例如

def load_something
  animal = @Animals.all.load([:cats])
  animal.where([:cat_category=>"home_cat"]) ### This one
end

Rails非常聪明,只能向DB发出1个请求。 如果你在rails console中检查一行,然后输入另一行,它会发出2个请求,但是在应用中,rails只会从这个只有1个DB的请求中获取