Relationships on a non ID field

Hi Guys,

I am a total newbie to rails - so please go easy :slight_smile:

So I have 2 models Country and City - the Country Model will have a 'name' and a 'code' field (so a record would be

ID name code 1 United Kingdom UK

Then my City table would look something like

ID country_code city_code name 2 UK LON London

So I guess the question is can you use has_many :city which would form the relationship based on the char code rather than a ID?

Regards

Hi Guys,

I am a total newbie to rails - so please go easy :slight_smile:

So I have 2 models Country and City - the Country Model will have a 'name' and a 'code' field (so a record would be

ID name code 1 United Kingdom UK

Then my City table would look something like

ID country_code city_code name 2 UK LON London

So I guess the question is can you use has_many :city which would form the relationship based on the char code rather than a ID?

has_many does have a primary_key option for this sort of thing. I would more commonly have a country_id column on cities rather than a country_code column

Fred

Pete Moran wrote:

So I have 2 models Country and City - the Country Model will have a 'name' and a 'code' field (so a record would be

ID name code 1 United Kingdom UK

Then my City table would look something like

ID country_code city_code name 2 UK LON London

Country ID name code 1 United Kingdom UK

City ID country_id city_code name 2 1 LON London

Country   has_many :cities

City   belongs_to :country