Eric Sloane
2005-Dec-06 22:56 UTC
Real Dumb Newbie Q: Saving multiple data sets from one form
Hi,
I have a couple of tables, Jobs and Addresses with a HABTM relationship
through Jobs_Addresses and I have a model and controller for both jobs
and addresses. What would be the best way to code a create method to
save the two data sets? I tried;
def create
@job = Job.new(params[:job])
@address = Address.new(params[:address])
if @job.save && @address.save
flash[:notice] = ''Job was successfully created.''
redirect_to :action => ''list''
else
render :action => ''new''
end
end
Which resulted in;
NoMethodError in Job#create
undefined method `address'' for #<Job:0x3912190>
Request
Parameters: {"commit"=>"Save Job Data",
"job"=>{"job_number"=>"1984",
"closed"=>"false",
"job_phase_id"=>"1",
"job_type_id"=>"1"},
"address"=>{"country"=>"Australia",
"suburb"=>"Spanish Harlem",
"address_1"=>"Level 42",
"address_2"=>"77, Sunset Strip",
"state"=>"Confused"}}
So all the data is there I just don''t know how to split the save to two
tables.
Sorry it''s such a dumb question. Help much appreciated
Kind Regards,
Eric.
joost baaij
2005-Dec-08 16:39 UTC
Re: Real Dumb Newbie Q: Saving multiple data sets from one f
def create @job = Job.new(params[:job]) @address = Address.new(params[:address]) @job.address << @address # Then save the objects end This could probably be rewritten using the .create method (which instantiates an object and saves it right away). -- Posted via http://www.ruby-forum.com/.