Skip to content

Instantly share code, notes, and snippets.

@jvperrin
Created July 14, 2013 05:16
Show Gist options
  • Save jvperrin/5993294 to your computer and use it in GitHub Desktop.
Save jvperrin/5993294 to your computer and use it in GitHub Desktop.
Route ordering oddity in Rails 4
# This ordering will not work:
resources :posts, :except => :index
get "/posts" => "posts#index", :as => :posts
# This ordering will work:
get "/posts" => "posts#index", :as => :posts
resources :posts, :except => :index
# Both work, however, in Rails 3.2.13.
Invalid route name, already in use: 'posts'
You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes created with `resources` as explained here:
http://guides.rubyonrails.org/routing.html#restricting-the-routes-created
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-4.0.0/lib/action_dispatch/routing/route_set.rb:409:in `add_route'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-4.0.0/lib/action_dispatch/routing/mapper.rb:1440:in `add_route'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-4.0.0/lib/action_dispatch/routing/mapper.rb:1417:in `decomposed_match'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-4.0.0/lib/action_dispatch/routing/mapper.rb:1398:in `block in match'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-4.0.0/lib/action_dispatch/routing/mapper.rb:1389:in `each'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-4.0.0/lib/action_dispatch/routing/mapper.rb:1389:in `match'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-4.0.0/lib/action_dispatch/routing/mapper.rb:596:in `map_method'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-4.0.0/lib/action_dispatch/routing/mapper.rb:557:in `get'
/home/jason/projects/rails4/config/routes.rb:3:in `block in <top (required)>'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-4.0.0/lib/action_dispatch/routing/route_set.rb:316:in `instance_exec'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-4.0.0/lib/action_dispatch/routing/route_set.rb:316:in `eval_block'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-4.0.0/lib/action_dispatch/routing/route_set.rb:294:in `draw'
/home/jason/projects/rails4/config/routes.rb:1:in `<top (required)>'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in `load'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in `block in load'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in `load'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/application/routes_reloader.rb:40:in `each'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/application/routes_reloader.rb:40:in `load_paths'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/application/routes_reloader.rb:16:in `reload!'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/application/routes_reloader.rb:26:in `block in updater'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-4.0.0/lib/active_support/file_update_checker.rb:75:in `call'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-4.0.0/lib/active_support/file_update_checker.rb:75:in `execute'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/application/routes_reloader.rb:27:in `updater'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/application/routes_reloader.rb:6:in `execute_if_updated'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/application/finisher.rb:69:in `block in <module:Finisher>'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/initializable.rb:30:in `instance_exec'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/initializable.rb:30:in `run'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/initializable.rb:55:in `block in run_initializers'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/initializable.rb:54:in `run_initializers'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/application.rb:215:in `initialize!'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/railtie/configurable.rb:30:in `method_missing'
/home/jason/projects/rails4/config/environment.rb:5:in `<top (required)>'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `block in require'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/application.rb:189:in `require_environment!'
/home/jason/.rvm/gems/ruby-1.9.3-p327/gems/railties-4.0.0/lib/rails/application.rb:249:in `block in run_tasks_blocks'
/home/jason/.rvm/gems/ruby-1.9.3-p327/bin/ruby_noexec_wrapper:14:in `eval'
/home/jason/.rvm/gems/ruby-1.9.3-p327/bin/ruby_noexec_wrapper:14:in `<main>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment