views:

16

answers:

0

There is a route:

admin.resources :orders,:collection=>{:export=>:get},:member=>{:gener=>:get}

In the console when I use link_to I get the following:

>> helper.link_to "test", :controller=>"admin/orders", :action=>"gener", :id=>33, :format=>"pdf", :line=>412, :player=>393                                      
=> "<a href=\"/admin/orders/33/gener.pdf?line=412&amp;player=393\">test</a>"

Then when I try to verify the generated route:

>> ActionController::Routing::Routes.recognize_path("/admin/orders/33/gener.pdf?line=412&player=393", :method=>:get)
ActionController::RoutingError: No route matches "/admin/orders/33/gener.pdf?line=412&player=393" with {:method=>:get}
    from /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/routing/recognition_optimisation.rb:66:in `recognize_path'
    from (irb):23

How is Rails generating a path that it can't recognize?

This works:

>> ActionController::Routing::Routes.recognize_path("/admin/orders/33/gener.pdf", :method=>:get)
=> {:controller=>"admin/orders", :format=>"pdf", :action=>"gener", :id=>"33"}

But when I add params to the end I get no matching route.