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