table look-up method advise please

Hi I am trying to learn rails 2 but really struggling with all this table relationship stuff & restful routes with rails 1 manuals etc!

I was wondering if somebody would be kind enough to give me some advice and sample code for my very simple requirement.

I have two tables..

1. Incoming telephone calls table with telephone number field 2. Customer table with telephone field

my requirement is for the list of incoming numbers to be shown in the index.html page -easy no problem I can do this! :slight_smile:

but I am struggling with the best method here...

when a 'show' link is clicked on a row then the show.html page will show the incoming call details but also with a partial (i guess) show the customers details automatically.

Do I join the tables or do I execute a find?

please help and thanks for you time.

You can setup your call entry to :has_one :user, and specify the column names that should match. Then you can do entry.user to grab the user details.

This is much easier if you do things the way Rails expects (I am mixing schema and model statements here, I think you know which is which):

Calls

You can setup your call entry to :has_one :user, and specify the column names that should match. Then you can do entry.user to grab the user details.

This is much easier if you do things the way Rails expects (I am mixing schema and model statements here, I think you know which is which):

Calls ------- id telephone_number_id -- :belongs_to :telephone_number

TelephoneNumbers --------------------------- id number -- :has_many :calls :has_one :user

Users -------- id telephone_number_id -- :belongs_to: telephone_number

Thanks for helping Clever.

I must say I am still struggling to get this to work correctly.

My biggest problem with the teaching books and the very good screencasts available on the web is that they all show how to set up these fantastic 'has_and_belong_to_methods_etc.' but they then stop and don't show the code you need to put in your controllers or views, and if they do show a glimpse of code it's for an outlandish over the top multi-complex shopping cart! - leaving us poor total newbies banging our heads on our keyboards after hours of failed code attempts. (sorry I feel much better now I have shared my frustration)

so sorry to say - I still have more questions to ask!

In my tables I have the telephone_numbers_id fields however they are set up as VARCAR(20) and not integers - will this still work?

Do I need to create a join table or a join model? I think in this case it needs to be a join model as the documentation would appear to indicate a join table is for 'many and through' types of associations -am i correct in this assumption?

I have also tried to create this as a 'find method' to look up the user_telephone number but it keeps going wrong because it is looking up the calls table 'id' and not the call table 'telephone_number_id' - i don't want to spend any more time on this method because it would appear that i am doing it the hard or wrong way.

So if you are able to show me some code for my controllers & views or point me to a good book or online tutorial then I would be very, very grateful.