У меня есть 2 основных объекта: UserProfile и Property.По сути, UserProfile должен поддерживать 3 разных списка свойств (обратите внимание, что каждый тип списка будет иметь дополнительные свойства)
Кто-нибудь видит что-то не так со следующим дизайном для этого:
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
Другой способ, который я рассматривал, - это использовать полиморфизм для сущности Property, но не уверен, какой путь будет более «рельсовым»