我想在公司模型中创建范围,以便我可以使用此行

Company.customer

为了选择所有拥有客户类型的公司。

Company和CompanyType之间的关系是多对多的。

公司:

class Company < ActiveRecord::Base
  attr_accessible :description, :name, :website, type_ids
  has_and_belongs_to_many :types, :class_name => "CompanyType"
  #scope :customer, where()
end

公司类型:

class CompanyType < ActiveRecord::Base
  attr_accessible :name
  has_and_belongs_to_many :companies
end

对于数据库中的表,我有“company_types”表,“company_types_companies”(company_types和公司之间的连接表)和“公司”表

我如何填写:公司模型中的客户范围?

===============>>#1 票数:2 已采纳

请尝试以下方法

scope :customers, joins(:types).where(company_types: { name: 'customer' })

我想提出的一点是,我认为你所做的事情有点过分,而不仅仅是在公司模型中添加一个company_type列。 如果您没有将CompanyType用于其他任何内容,我建议您添加一列而不是使用两个表。

  ask by muhihsan translate from so

未解决问题?本站智能推荐: