accessing object in params hash

Hi there,

I am going batty with this problem and was hoping someone could help me
out. I have a restaurant object that can have many boundaries (these are
kept in a separate table and consist of a lat and long attribute).

I have figured out how to pass multiple boundaries in the params hash
upon a new restaurant creation. The params hash looks as follows:

Parameters: {"restaurant"=>{"sun_open(4i)"=>"13", …, "commit"=>"Submit
Restaurant",
"authenticity_token"=>"c319f495e108e4ef33881628b63f443c94bda27a",
"action"=>"validate_and_save", "controller"=>"restaurants",
"boundaries"=>[{"lng"=>"-79.37759399414062",
"lat"=>"43.67581809328341"}, {"lng"=>"-79.39141273498535",
"lat"=>"43.677711435998695"}], "image"=>[""]}

Now in my controller I need to create a boundary object for each lat/lng
in the hash. I would like to do something like this:

params[:boundaries].each do |boundary|
@restaurant.boundaries << Boundary.new(:lng => 'lng', :lat => 'lat' )
                             end unless params[:boundaries].nil

However, I just can’t seem to be able to accomplish the task. I have
played around with it and either it never goes into the loop or I get an
error. Does anyone know what I need to do in the controller to correctly
retrieve and create the boundaries?

Thanks,
steve

Either I've misundersood or you just want
params[:boundaries].each do |boundary|
  @restaurant.boundaries << Boundary.new(boundary)
end unless params[:boundaries].nil?

Fred

Frederick Cheung wrote: