Rails查询包括不工作

时间:2013-04-01 08:37:51

标签: ruby-on-rails ruby associations

在我的应用程序中,我有3个模型:项目,类别和分类定义如下:

class Item < ActiveRecord::Base
  attr_accessible :name, :description

  has_many :categorizations
  has_many :categories, :through => :categorizations
end

class Category < ActiveRecord::Base
  attr_accessible :name, :description, :parent, :children, :items, :parent_id  

  has_many :children, :class_name => "Category", :foreign_key => "parent_id", :dependent => :nullify
  belongs_to :parent, :class_name => "Category"

  has_many :categorizations
  has_many :items, :through => :categorizations
end

class Categorization < ActiveRecord::Base
  attr_accessible :category, :item

  belongs_to :category
  belongs_to :item

end

然而,这样做:

 Category.where(:parent_id => self.id).includes(:items)

不会返回与该类别相关联的项目。我在这里缺少什么?

2 个答案:

答案 0 :(得分:0)

试试这个:

Category.where(parent_id: id).joins(:items)

答案 1 :(得分:-1)

试试这个:

Category.where(:parent_id => id).collect(&:items)

它将返回与where子句匹配的所有类别的项目。