0

我有这些模型:

class Company < ActiveRecord::Base
  has_many :categorizings, as: :categorizable
  has_many :categories, :through => :categorizings

class Categorizing < ActiveRecord::Base
  belongs_to :category
  belongs_to :categorizable, polymorphic: true

class Category < ActiveRecord::Base
  has_many :categorizings
  has_many :categorizables, through: :categorizings

我怎样才能让所有公司都有一个特定的类别?

我试过了

Category.find_by_name("fff").companies

加上许多其他解决方案,但无法使其正常工作

谢谢!

4

1 回答 1

1

您可以执行以下操作

Category.first.categorizables.where(categorizable_type: 'Company')

这将使用您的关系模式选择与 Category 关联的所有公司。

还阅读了一些有关has_many :through关联的信息,因为我认为您不太了解http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association

于 2013-07-13T09:50:01.547 回答