Building Relationship between Models

Hi again… :slight_smile:

I’m still working on RoR

right now i’m fighting against relationship.

I generated 3 scaffolds
car
wheel
engine

all the 3 CRUD works and now in the database I’ve many engines , many
wheel and many cars.

I want to correlate this object but how do it ?

I must say that car has_one engine and engine belongs_to car
(every car can have only one engine)

or i must write that engine has_many cars and car belongs_to engine
(one engine is used on many different car)

or I need to create a new scaffold like road_ready_car which has_one
engine , has_one car and has_many wheels

???

2009/3/16 Simone R. [email protected]

I generated 3 scaffolds

I must say that car has_one engine and engine belongs_to car
(every car can have only one engine)

or i must write that engine has_many cars and car belongs_to engine
(one engine is used on many different car)

or I need to create a new scaffold like road_ready_car which has_one
engine , has_one car and has_many wheels

It all depends what you want in the database. Are the cars in the
database
individual cars, or types of car? If types of car then maybe the name
is
wrong. Similarly are the engines actual engines or just types of
engines?
The same for wheels.

If they are all actual individual items then a car has only one engine
and
an engine has only one car (at any one time at least). A car has 4
wheels (5
including spare?) so car has many wheels, wheel belongs to car.

If, however you are talking about types of cars and engines then a car
type
may have many engine types and an engine type may have many car types.
Perhaps in this case you then need another table for the actual cars
where a
car is of one car type, one engine type and one wheel type.

Colin L. wrote:

It all depends what you want in the database.
Are the cars in the database
individual cars, or types of car?

Thanks for the good hint …

Now I know I was thinking about types of cars :slight_smile:
(something like a web configurator for a cars webstore)

Now I will try to make it