0

重複の可能性:
Rails で自己結合テーブルを結合できない

マルチレベルのカテゴリがあります

class Category < ActiveRecord::Base
  belongs_to :parent, :class_name => "Category", :foreign_key => "parent_id"
  has_many :children,  :class_name => "Category"
  has_many :products
  attr_accessible :description, :title, :parent

end

ここにのモデルがありますProduct

class Product < ActiveRecord::Base
  belongs_to :category
end

Product親カテゴリ名ですべての製品を検索できるように、スコープを定義する必要があります

class Product < ActiveRecord::Base
 #.....
 #scope :of_tea, lambda{ where(:category.parent.name => "tea") } # not working
end
4

1 に答える 1

1

ハッシュを使用して where 条件を指定します。

where(:category => { :parents => { :title => "tea" } } )
于 2012-09-23T15:27:00.897 に答える