Я работаю над своим первым веб-сайтом Rails, своего рода веб-сайтом для шоппинга: через сайт продаются продукты, каждый из которых имеет несколько уникальных атрибутов.
Вариант использования, который я себе представляю, заключается в следующем: пользователь заходит на сайт в поисках подержанной кровати, просматривает несколько более высоких категорий, пока не найдет кровать правильного размера, что-то вроде этого:
Furniture
---> Couch
---> Dresser
---> Bed
-------> Size
----------> King
----------> Queen
...
Каждый раз, когда пользователь щелкает более узкую категорию, ему предоставляется меню со следующим уровнем детализации (в стиле NewEgg). При нажатии «Мебель» отображается вся мебель и появляется меню с типами мебели. При нажатии «Кровать» отображаются все кровати, и появляется меню, отображающее различные атрибуты кровати и т. Д.
Пока у меня есть родительский класс "Item", который содержит все атрибуты каждого предмета, продаваемого через веб-сайт (цена, описание и т. Д.). Я застрял с тем, что делать дальше.
Мой первый инстинкт - иметь подклассы, но они не кажутся такими полезными. В подклассе «Мебель» нет ничего такого, что могло бы содержать в себе что-то новое, кроме как определить, что это мебель. Кроме того, каждый родительский класс должен знать о своих подклассах.
Какой шаблон проектирования я должен использовать для чистой реализации этой модели? Я искал вложенные множества, но я не совсем уверен, что это путь. Любое руководство приветствуется.
Спасибо!