我有2個主要實體UserProfile和Property。基本上,用戶配置需要維持3名不同的屬性列表(注意,每個列表類型將有額外屬性)HABTM最佳實踐
有誰看到什麼毛病以下設計這樣做:
class UserProfile < ActiveRecord::Base
has_many :shortlists
has_many :booklists
has_many :proplists
end
class Shortlist < ActiveRecord::Base
has_and_belongs_to_many :properties
end
class Booklist < ActiveRecord::Base
has_and_belongs_to_many :properties
end
class Proplist < ActiveRecord::Base
has_and_belongs_to_many :properties
end
class Property < ActiveRecord::Base
has_and_belongs_to_many :shortlists
has_and_belongs_to_many :booklists
has_and_belongs_to_many :proplists
end
另一種方法我正在考慮的是使用多態性的財產實體, ,但不知道哪種方式會更'軌道'
'導軌方式'的關鍵之一是避免重複自己。您應該使用多態性來將這些列表合併爲List類的後代。 – Mario 2011-05-27 15:36:55
請注意,has_and_belongs_to_many將被棄用,並用has_many,:through – apneadiving 2011-05-27 15:37:55