Insert to associated table question


#1

Hello Friendly Gurus,
I have a volunteers table and an hours tables. I’ve edited the
respective models to have: “hours belongs_to :volunteer” and “volunteers
has_many :hours”. My problem is, I don’t know how to set the
volunteer_id column in the hours table to the appropriate value so that
hours will belong to volunteers.

I’ve added the following line to list.rhtml in the volunteers view so I
can pass the volunteer id to the hours new action:
"

<%= link_to ‘Add Hours’, :controller => ‘hours’, :action => ‘new’,
:id => volunteer %> "

My thought is that I would pass the volunteer id to the hours controller
and convert it into a hidden field in the “new” form so that we can use
it to populate the volunteer_id column. This is how the PHP Spaghetti
coder in me would have done it, but I suppose there is a more elegant
Rails way to do this. I hope you can help.

Thank you in advance!
-Sean C., Rails Nube and recovering PHP Spaghetti Coder


#2

STFW, Sean! (Awesome! I got to finally do that to someone that won’t be
offended!)
http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html - parts 4 and 5
begin to show how to tie 2 tables together.