Auto generating forms

I have three tables: the products, type_products, properties and value.

**Typeproduct.rb**

    has_many :products     has_many :properties

**Property.rb**

    belongs_to :type_product     has_many :values

**Value.rb**

    belongs_to :property

**Product.rb**

    belongs_to :type_product

What a best way to generate a form based on the conditions and values, when client changing the type_products in the form

That's four tables and they look cumbersome already and I haven't even seen the data yet. Before I give you an answer, drop two example rows from each table and include the fields. I have a feeling that you are not properly normalizing this and over-complicating things for yourself.