Help with modeling a problem (ActiveRecord)

Hi! I need help with modeling my models :slight_smile:

This is the situation:

I need to manage record on product failures. I have three distinct
features on the products:

  1. ProductName: id, description
  2. ProductFormat: id, description, width, height
  3. ProductThickness: id, description

Now, i will form Products as combination of the former features:

  1. Product: id, ProductName id, ProductFormat id,
    ProductThickness id,

The table 4, as i see it, is kind of a join table, but is also a model
because of the “usages” field, am i right? So i think I should make the
following relations on the models:

ProductName < ActiveRecord::Base
has_many :product_thicknesses, :trough => :products
has_many :product_formats, :trough => :products

ProductFormat < ActiveRecord::Base
has_many :product_thicknesses, :trough => :products
has_many :product_names, :trough => :products

ProductThickness < ActiveRecord::Base
has_many :product_formats, :trough => :products
has_many :product_names, :trough => :products

Product < ActiveRecord::Base
belongs_to :product_thicknesses
belongs_to :product_formats
belongs_to :product_names

Is this correct? Is there any better form?

Also, i’m trying to build a restfull interface to my products, as to
identify them as this given url’s


This would be right if i think on combination of features, but truth is
not all the combinations are allowed, only those listed on the products
table, that happens to have an id beacuse is not only a join table but
also saves information about the 3 features combination…

What do you think???

Very Thanks!


Emmanuel O. wrote: