我有3个型号。 Jobs
,Businesses
,& Categories
。
Jobs
有很多categories
。
Businesses
有很多categories
。
Categories
有很多jobs
。
Categories
有很多businesses
。
多态关联是否最适合此场景?
category.rb
class Category < ActiveRecord::Base
attr_accessible :name
belongs_to :categorised, polymorphic: true
end
business.rb
class Business < ActiveRecord::Base
has_many :categories, as: :categorised
end
job.rb
class Job < ActiveRecord::Base
has_many :categories, as: :categorised
end
答案 0 :(得分:1)
我认为这取决于Job
和Business
对象之间的共同点。如果它们大多具有相同的属性,那么是的,将它们存储在同一个表中可能是有意义的。
但在任何一种情况下,你都有多对多的关系:Jobs
有很多Categories
,而Categories
有很多Jobs
。这将要求与连接两者的连接表建立:has_and_belongs_to_many
关系。
答案 1 :(得分:0)
我会建议你关系
category.rb
class Category < ActiveRecord::Base
attr_accessible :name
has_and_belongs_to_many :business
has_and_belongs_to_many :jobs
end
business.rb
class Business < ActiveRecord::Base
has_and_belongs_to_many :categories
end
job.rb
class Job < ActiveRecord::Base
has_and_belongs_to_many :categories
end