Routing Rails 2 vs Rails 3

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

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’
:slight_smile:

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

http://guides.rubyonrails.org/v3.2.14/routing.html

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