Hello,
I am not sure of the best way to model this situation in Rails and
would appreciate some guidance.
An order can hold multiple line items. Each line item is for a
certain number of any given product. There are four products, each
in a different table because they have completely different
attributes. So I have:
Order
- has many LineItems
LineItem
- belongs to an Order
- holds the quantity of the particular product
- has one {ProductA or ProductB or ProductC or ProductD}
ProductA
- belongs to many LineItems
- holds various attributes unique to product A
ProductB
- belongs to many LineItems
- holds various attributes unique to product B
…etc for ProductC and ProductB
How do I set up LineItem so it is polymorphic with respect to the
product it has?
I know I could merge all the products into one giant product table
with the superset of all the products’ attributes, but I really don’t
want to.
What’s the best way to handle this situation?
Thanks in advance,
Andy S.