I''ve been working on an idea to use a server-side image map to allow users to click anywhere in an area and have a new element appear at the location they clicked. Everything was going well, until it came time to connect the routing map. Here are the relevant parts: In the view, the map is created by -- <%= link_to(image_tag(''floor_plan.png'', :width => ''1000'', :ismap => ''true'', :style => ''position: absolute; top: 150px;''), :action => ''generate_ticket'') %> A click anywhere on the map will generate a url of the form "/report/generate_ticket?287,374" where 287 is the x-coord and 374 is the y-coord. So in the routes.rb file we have (at the top of the list) -- map.connect '':controller/:action?:x,:y'' Now, if I drop into the console, load up the routing map, and evaluate, this is what I get -->> rs = ActionController::Routing::Routes=> #<ActionController::Routing::RouteSet:0x197da14 @routes_by_controller=nil, ...>>>> rs.recognize_path ''/report/generate_ticket?10,20''=> {:action=>"generate_ticket", :controller=>"report", :y=>"20", :x=>"10"} However, when I click on the image map, the params that are returned to report#generate_ticket are -- {"287,374"=>nil, "action"=>"generate_ticket", "controller"=>"report"} Furthermore, if I remove all routes except for the one that should handle the image map coordinates, then click on the map, I get -- no route found to match "/report/generate_ticket" with {:method=>:get} and I get the same error if I type the URL in manually. What gives? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Joshua Ballanco wrote:> map.connect '':controller/:action?:x,:y''I don''t think having the comma in the route is a terribly good idea. Why not just use params? maps/index?x=123&y=456 -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Douglas Shearer wrote:>Joshua Ballanco wrote: >> map.connect '':controller/:action?:x,:y'' > >I don''t think having the comma in the route is a terribly good idea.What makes you say that? As far as I can tell, the ActionController::Routing::SEPARATORS constant for Rails 1.2.3 is: ["/", ";", ".", ",", "?"]. I can''t find any reason why "?" and "," shouldn''t function as well as "/" (though, admittedly it appears that in my situation they do not).> Why not just use params? > > maps/index?x=123&y=456I''d like to, but unfortunately setting the <img> element "ismap" to true dictates the behavior of the image map and you always end up with "/something/stuff?###,###". If you know of any way to communicate the xy-coords back to the server in a different way, I''m all ears! Oh, by the way, I''m trying this on Mac OS X using the WebKit nightlies and Camino 1.4, Rails 1.2.3 and Ruby 1.8.6. Thanks for the feedback! Cheers, Josh -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---