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 Stewart