HMT 命名相似性问题
HMT Naming Similarity Issue
我有两个两个模型:Company
和 CompanyType
。我需要一个公司可以拥有并属于多种类型的关联设置。基于命名连接模型的 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
如果你需要连接模型,我想你可以按照同一个文档中解释的方法。
我有两个两个模型:Company
和 CompanyType
。我需要一个公司可以拥有并属于多种类型的关联设置。基于命名连接模型的 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
如果你需要连接模型,我想你可以按照同一个文档中解释的方法。