# Route segment ":controller" cannot be optional because it precedes a required segment

**URL:** <https://www.ruby-forum.com/t/route-segment-controller-cannot-be-optional-because-it-precedes-a-required-segment/146629>\
**Category:** Rails\
**Created:** [August 23, 2008, 7:36am UTC](https://www.ruby-forum.com/t/route-segment-controller-cannot-be-optional-because-it-precedes-a-required-segment/146629 "2008-08-23T07:36:31Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![David\_Bird](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/8e7dd6/32.png) [@David\_Bird](https://www.ruby-forum.com/u/David_Bird)\
**Post date:** [August 23, 2008, 7:36am UTC](https://www.ruby-forum.com/t/route-segment-controller-cannot-be-optional-because-it-precedes-a-required-segment/146629/1 "2008-08-23T07:36:31Z")

</div>

Hi,

With this route…

map.namespace :admin do |admin|  
admin.sort ‘/:controller/sort/:sort\_by/:sort\_dir’, :action =\> ‘sort’  
end

…I get this message…

Route segment “:controller” cannot be optional because it precedes a  
required segment. This segment will be required.

The route works as expected, but the warning is worrying. Any ideas?

Thanks,

Dave

---

<div class="post-metadata">

**Author:** ![David\_Bird](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/8e7dd6/32.png) [@David\_Bird](https://www.ruby-forum.com/u/David_Bird)\
**Post date:** [September 12, 2008, 3:40am UTC](https://www.ruby-forum.com/t/route-segment-controller-cannot-be-optional-because-it-precedes-a-required-segment/146629/2 "2008-09-12T03:40:51Z")

</div>

Dave,

Did you ever get any resolution on this? I’m just now having exactly  
the same problem. I’m doing a filter though:

map.namespace :admin do |admin|  
admin.filter ‘:controller/filter’, :action =\> ‘filter’  
end

I wonder if there is some additional command-line hash option or  
parameter that can be passed in?

This seems like something that would be fairly common… i.e. a common  
extra action across multiple controllers?

-Danimal
