# Incompatibility between 1.1.6 and 1.2 routing

**URL:** <https://www.ruby-forum.com/t/incompatibility-between-1-1-6-and-1-2-routing/85282>\
**Category:** Rails\
**Created:** [February 12, 2007, 10:14am UTC](https://www.ruby-forum.com/t/incompatibility-between-1-1-6-and-1-2-routing/85282 "2007-02-12T10:14:36Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Martin\_Aus\_Chemnitz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/ea666f/32.png) [@Martin\_Aus\_Chemnitz](https://www.ruby-forum.com/u/Martin_Aus_Chemnitz)\
**Post date:** [February 12, 2007, 10:14am UTC](https://www.ruby-forum.com/t/incompatibility-between-1-1-6-and-1-2-routing/85282/1 "2007-02-12T10:14:36Z")

</div>

Hi!

I just realized that edge ruby (1.2.2) breaks my routes. :id does not  
include periods (".") any more, in favour of allowing :id.:format.

How can I create the old behevior, i.e. a route, so that “/controller/  
action/abc.jpg” returns “abc.jpg” in a single argument (:id)?  
“/:controller/:action/:id” does not work as expected and returns :id =  
“abc”.

Thanks

Martin

---

<div class="post-metadata">

**Author:** ![Martin\_Aus\_Chemnitz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/ea666f/32.png) [@Martin\_Aus\_Chemnitz](https://www.ruby-forum.com/u/Martin_Aus_Chemnitz)\
**Post date:** [February 12, 2007, 11:58am UTC](https://www.ruby-forum.com/t/incompatibility-between-1-1-6-and-1-2-routing/85282/2 "2007-02-12T11:58:44Z")

</div>

Martin Aus Chemnitz wrote:

> I just realized that edge ruby (1.2.2) breaks my routes. :id does not  
> include periods (".") any more, in favour of allowing :id.:format.
> 
> How can I create the old behevior, i.e. a route, so that “/controller/  
> action/abc.jpg” returns “abc.jpg” in a single argument (:id)?  
> “/:controller/:action/:id” does not work as expected and returns :id =  
> “abc”.

I’m sure there’s a more Ruby-like way of doing this but I just modified  
the source code directly.

In rails/actionpack/lib/action\_controller/routing.rb you’ll see this:

module Routing  
SEPARATORS = %w( / ; . , ? )

Just take out the “.”

–  
Michael W.

---

<div class="post-metadata">

**Author:** ![Martin\_Aus\_Chemnitz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/ea666f/32.png) [@Martin\_Aus\_Chemnitz](https://www.ruby-forum.com/u/Martin_Aus_Chemnitz)\
**Post date:** [February 12, 2007, 12:43pm UTC](https://www.ruby-forum.com/t/incompatibility-between-1-1-6-and-1-2-routing/85282/3 "2007-02-12T12:43:50Z")

</div>

Martin Aus Chemnitz wrote:

> Hi!
> 
> I just realized that edge ruby (1.2.2) breaks my routes. :id does not  
> include periods (“.”) any more, in favour of allowing :id.:format.
> 
> How can I create the old behevior, i.e. a route, so that “/controller/  
> action/abc.jpg” returns “abc.jpg” in a single argument (:id)?  
> “/:controller/:action/:id” does not work as expected and returns :id =  
> “abc”.

map.load\_post\_image ‘news/load\_image/:id/:file\_name’, :controller =\>  
‘news’, :action =\> ‘load\_image’,  
:requirements =\> { :file\_name =\> /.\*/ }

Cheers,  
Jonathan

–  
Jonathan W.  
[http://blog.innerewut.de](http://blog.innerewut.de)
