Inserting the parent Id to the child table


#1

The other day, I was looking at the way to insert into the child record.
I looked at the api’s at the following link.
http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethod
s.html

I am not very clear still the way to do it.

I would like to give you the background once again.

I have say two tables.
Table A : students
Table B : addresses

Table B has student_id as the foreign key to Table A

If I am displaying the list of students and wanted to get individual
students addresses based on their id, is the only option is to get the

id from students controller method list into the session and use that
session value to populate the student_id in the addresses table?

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
List.rhtml (students)

<%= link_to("Address" , :controller => "addresses", :action => "list", :id => student) %>

Addresses_controller

def list
@addresses = Address.find(:all, :conditions => [ “student_id=
(?)”, params[:id]], :limit => 5)
@session[“student_id”] = params[:id] End

def create
@addresses = Address.new(params[:addresses])
@addresses.student_id=@session[“student_id”]

end
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

I was told that this is not the right way, instead think in terms of the
models something like this:

class Student < ActiveRecord::Base
has_many :addresses

end

class Address < ActiveRecord::Base
belongs_to :student

end

@student = Student.find(params[:id])
@addrs = @student.addresses
@address = @addrs.build(params[:address]) # and so on…

I am not very clear even after reading the api. Could someone give me an
example of how this is can be achieved using ruby.

Thanks
Silvy Mathews