johnmann@mannandassociatescpa.com
2006-Jul-02 18:50 UTC
[Rails] Subject: Trying to Get Results from Form Element
I am trying to create an application loosely based on the Depot application presented in Agile Web Development with Rails (AWDwR). I am using the folowing controllers: admin_Controller application_Controller city_map_controller (with method: displayGMap) == Code Extract from city_map_controller =# Show a Google Map on a new page def displayGMap # @mapPoint = Gmap.find(params[:id]) # DBUG: Go back with report of what we found redirect_to_index("What the form got: |#{params[:id]}| |#{params[:mapPoint]}|") if params[:context] == :embedded render(:layout => false, :locals => { :mapPoint => @mapPoint}) end end I am using the following model: gmap.rb (containing class Gmap < ActiveRecord::Base) with the following views: city_map (containing displayGMap.rhtml, index.rhtml) layouts (containing city_map.rhtml) Everything starts well. I display a page (city_map/index.rhtml) with a form to select a map point. When I get to the "action" method (displayGMap) I find that I don''t have access to the results of my selection. In fact, I''m not certain what I have. I tried to use statements like the ones in AWDwR book to extract params values, but only get nil. Now I''m confused. How can I see what is passed into the action method? How can I understand what the Action Controller is trying to tell me? == Messages from Rails Action Controller =ActiveRecord::RecordNotFound in CitymapController#displayGMap Couldn''t find Gmap without an ID Request Parameters: {"commit"=>"Show Map", "mapPoint"=>{"id"=>"5"}} ==Code Extract from index.rhtml=<%= start_form_tag( :action => "displayGMap" ) %> <% mapPoints = Gmap.allMapPoints() -%> <%= cityList = mapPoints.map { |m| [m.description, m.id] } select("mapPoint", "id", cityList) %> <%= submit_tag( "Show Map" ) %> By the Way - When I hard code the parameter value i.e. @mapPoint = Gmap.find(5), everything works fine.