所以我有一个Product,product_tags连接表和Tags。我想使用Product.find找到具有特定标签名称的所有产品。这可能吗?
答案 0 :(得分:1)
您没有发布代码,但我认为这是您的设置:
class Product < ActiveRecord::Base
has_many :product_tags
has_many :tags, :through => :product_tags
end
class Tag < ActiveRecord::Base
has_many :product_tags
has_many :products, :through => :product_tags
end
class ProductTag < ActiveRecord::Base
belongs_to :product
belongs_to :tag
end
然后,您可以找到具有给定标记名称的所有产品,例如“cool_product”如下:
cool_tag = Tag.find_by_name("cool_product")
cool_tag.products # => list of all products
为了参考和研究,我强烈建议您阅读ActiveRecord::Associations::ClassMethods上的整个文档页面。关联方法是Active Record中一些最被低估的功能。