title: Error matching route with custom parameters in Rails 3 that worked in Rails 2.3
body: <p>We're converting our Rails 2.3 app to 3.0.11, and were having a problem migrating some of the routes.</p>
  
  <p>To me, it appears our custom parameters (:title and :name_recognition) are causing some problems.  However, we are using named routes so I'm very unclear why Rails is trying to do any matching by controller, action, and parameters at all.</p>
  
  <p>Error we get:</p>
  
  <pre><code>ActionView::Template::Error (No route matches {:controller=&gt;"audience_tool", :action=&gt;"show", :name_recognition=&gt;"BandName", :title=&gt;"", :id=&gt;1388}):
  </code></pre>
  
  <p>This is route in question from routes.rb:</p>
  
  <pre><code>match ':name_recognition/:title/:id' =&gt; 'audience_tool#show', :as =&gt; :show_page
  </code></pre>
  
  <p>Here is result from "rake routes":</p>
  
  <pre><code>show_page  /:name_recognition/:title/:id  {controller=&gt;"audience_tool", :action=&gt;"show"}
  </code></pre>
  
  <p>Here is the model method that we use to build the URL:</p>
  
  <pre><code>def url(options=Hash.new)
    options.reverse_merge!({
      :name_recognition =&gt; name_recognition,
      :title =&gt; title,
      :id =&gt; id
    })
    show_page_path options
  end
  </code></pre>
  
  <p>Here is how we call the method:</p>
  
  <pre><code>link_to("The Link text", show.url)
  </code></pre>
  
  <p>Stack Trace, minus the template code that gets displayed in the error:</p>
  
  <pre><code>actionpack (3.0.11) lib/action_dispatch/routing/route_set.rb:425:in `raise_routing_error'
  actionpack (3.0.11) lib/action_dispatch/routing/route_set.rb:398:in `generate'
  actionpack (3.0.11) lib/action_dispatch/routing/route_set.rb:454:in `generate'
  actionpack (3.0.11) lib/action_dispatch/routing/route_set.rb:482:in `url_for'
  actionpack (3.0.11) lib/action_dispatch/routing/url_for.rb:131:in `url_for'
  actionpack (3.0.11) lib/action_dispatch/routing/route_set.rb:195:in `show_page_path'
  app/models/performance.rb:245:in `url'
  app/views/performances/_show_banner.haml:12:in `block in _app_views_performances__show_banner_haml___933466686__622884308__332894942'
  haml (3.1.4) lib/haml/helpers/action_view_mods.rb:93:in `block in capture_with_haml'
  haml (3.1.4) lib/haml/helpers.rb:345:in `call'
  haml (3.1.4) lib/haml/helpers.rb:345:in `block in capture_haml'
  haml (3.1.4) lib/haml/helpers.rb:569:in `with_haml_buffer'
  haml (3.1.4) lib/haml/helpers.rb:341:in `capture_haml'
  haml (3.1.4) lib/haml/helpers/xss_mods.rb:61:in `capture_haml_with_haml_xss'
  haml (3.1.4) lib/haml/helpers/action_view_mods.rb:93:in `capture_with_haml'
  app/helpers/pretty_helper.rb:4:in `rounded_wrap'
  app/views/performances/_show_banner.haml:4:in `_app_views_performances__show_banner_haml___933466686__622884308__332894942'
  </code></pre>