# Routing Rails 2 vs Rails 3

**URL:** <https://www.ruby-forum.com/t/routing-rails-2-vs-rails-3/237684>\
**Category:** IT\
**Created:** [November 24, 2013, 12:29pm UTC](https://www.ruby-forum.com/t/routing-rails-2-vs-rails-3/237684 "2013-11-24T12:29:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [November 24, 2013, 12:29pm UTC](https://www.ruby-forum.com/t/routing-rails-2-vs-rails-3/237684/1 "2013-11-24T12:29:35Z")

</div>

Salve ragazzi,  
con l’aggiornamento da Rails 2 a Rails 3 ho dovuto riscrivere il  
routing, in particolare il comando:

map.page’software/download/pagina/:pagina.html’,  
:controller=\>‘view’,  
:action=\>‘index’

è diventato:

match ‘software/download/pagina/:pagina.html’ =\> ‘view#index’, :as =\>  
:page

vorrei sapere se è il giusto modo di procedere e se mi date qualche  
suggerimento su come sfruttarle meglio.

Nella vecchia versione avevo alla fine del routing:

map.connect “\*anything”, :controller=\>‘view’, :action=\>‘not\_found’

che mi dava la pagina not\_found per pagine non esisenti.

Come faccio a riscrivere lo stesso comando nella nuova versione?

Grazie mille

Luigi

---

<div class="post-metadata">

**Author:** ![softwarewin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@softwarewin](https://www.ruby-forum.com/u/softwarewin)\
**Post date:** [November 24, 2013, 2:50pm UTC](https://www.ruby-forum.com/t/routing-rails-2-vs-rails-3/237684/2 "2013-11-24T14:50:44Z")

</div>

Per il catch all puoi usare:

match ‘\*anywhere’ =\> ‘view#not\_found’

Tuttavia, da rails4 stato deprecato ‘match’ in favore dei singoli verbi  
http (get, post, etc…).

Quindi, per le routes della tua app, ti consiglio di adottare questo  
approccio da subito. Del resto, da quanto ho visto, ti serve una ‘get’  
🙂

Infine, puoi leggerti le guide ufficiali sul routing con rails3  
(3.2.14):

[http://guides.rubyonrails.org/v3.2.14/routing.html](http://guides.rubyonrails.org/v3.2.14/routing.html)

---

<div class="post-metadata">

**Author:** ![softwarewin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@softwarewin](https://www.ruby-forum.com/u/softwarewin)\
**Post date:** [November 24, 2013, 4:40pm UTC](https://www.ruby-forum.com/t/routing-rails-2-vs-rails-3/237684/3 "2013-11-24T16:40:13Z")

</div>

Puoi farmi un esempio, potresti convertirmi in Rails 4:

match ‘software/download/pagina/:pagina.html’ =\> ‘view#index’, :as =\>  
:page

e

match ‘\*anywhere’ =\> ‘view#not\_found’

Grazie ancora

Luigi
