HMT 命名相似性问题

HMT Naming Similarity Issue

我有两个两个模型:CompanyCompanyType。我需要一个公司可以拥有并属于多种类型的关联设置。基于命名连接模型的 rails 约定,我有点束手无策。我无法将我的连接模型命名为 CompanyType,因为它显然存在。在这种情况下你会怎么做?

class Company < ApplicationRecord
end

class CompanyType < ApplicationRecord
end

如果您不打算向其附加更多内容,您可以通过定义 has_and_belongs_to_many 关联跳过创建连接模型:

class Company < ApplicationRecord
  has_and_belongs_to_many :company_types
end

class CompanyType < ApplicationRecord
  has_and_belongs_to_many :companies
end

# No join model needed

不过您仍然需要迁移才能创建 table。参见:http://apidock.com/rails/v4.2.1/ActiveRecord/Associations/ClassMethods/has_and_belongs_to_many

如果你需要连接模型,我想你可以按照同一个文档中解释的方法。