Rails与孤儿的活动记录查询 - 我应该在这做什么?

时间:2013-11-01 13:13:23

标签: ruby-on-rails

假设我有一个名为Product的模型属于Collection模型,我想获得一个用于索引视图的产品分组列表。我可以这样做:

def index
  products = Product.all
  @grouped_products = products.group_by &:collection
end

这很好用。但现在让我们说我想确保我所分组的收藏品实际上存在于第一位?如果有孤儿,则会在视图中抛出错误。我不想在视图中进行任何在线验证,所以我该如何在控制器/模型级别上进行?

注意:我想允许孤立子项作为系统设计的一部分创建,我只是希望从某些视图中省略它们。

1 个答案:

答案 0 :(得分:1)

您可以使用联接来过滤查询中的孤儿产品。

products = Product.joins(:collection)
@grouped_productst = products.group_by &:collection