# Required segments in routing

**URL:** <https://www.ruby-forum.com/t/required-segments-in-routing/153811>\
**Category:** Rails\
**Created:** [November 21, 2008, 11:51am UTC](https://www.ruby-forum.com/t/required-segments-in-routing/153811 "2008-11-21T11:51:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![SSam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/eada6e/32.png) [@SSam](https://www.ruby-forum.com/u/SSam)\
**Post date:** [November 21, 2008, 11:51am UTC](https://www.ruby-forum.com/t/required-segments-in-routing/153811/1 "2008-11-21T11:51:49Z")

</div>

Hi

Has anyone an explanation why the following routing is not working?

ActionController::Routing::Routes.draw do |map|  
map.namespace :admin do |admin|  
admin.connect ‘:controller/:action/:id’  
admin.connect ‘:controller/:action/:id.:format’  
end  
map.connect ‘:controller/:action/:id’  
map.connect ‘:controller/:action/:id.:format’  
end

The following error message ist caused only by “admin.connect  
‘:controller/:action/:id.:format’”.  
Route segment “:controller” cannot be optional because it precedes a  
required segment. This segment will be required.

Replacing it with the following rule works fine:

map.connect ‘admin/users/:action.:format’, { :controller =\> ‘admin/  
users’ }

Interestingly, the variant without explicit format works fine under  
the namespace…

Any idea?

$am
