# Routes e instradamento

**URL:** <https://www.ruby-forum.com/t/routes-e-instradamento/195857>\
**Category:** IT\
**Created:** [October 1, 2010, 12:28pm UTC](https://www.ruby-forum.com/t/routes-e-instradamento/195857 "2010-10-01T12:28:11Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![totosbien](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/e19b73/32.png) [@totosbien](https://www.ruby-forum.com/u/totosbien)\
**Post date:** [October 1, 2010, 12:28pm UTC](https://www.ruby-forum.com/t/routes-e-instradamento/195857/1 "2010-10-01T12:28:11Z")

</div>

Ciao a tutti,  
ho un problema con l’url, in pratica l’errore Ã¨ il seguente:

(nome\_della\_mia\_classe)\_url failed to generate from  
{:controller=\>“nome\_della\_tabella”, :action=\>“show”, :id=\>#\<Classe  
campo\_della\_tabella\_1: 1, campo\_della\_tabella\_2: “TESTO DI PROVA”,  
campo\_della\_tabella\_3: ", … campo\_della\_tabella\_N: " "\>}

credo di aver capito che l’errore si riferisca alla connect contenuta  
nel file routes.rb:

…  
map.resources :nome\_tabella  
map.connect ‘:controller/:action/:id’  
map.connect ‘:controller/:action/:id.:format’  
…

ma provando a modificare in vari modi non sono riuscito a risolvere…  
secondo voi dovrei cambiare le variabili in questo modo? :  
:controller = :nome\_del\_mio\_controller  
:action = :nome\_dell’action  
:id = :nome\_primo\_campo\_della\_tabella

Ciao

---

<div class="post-metadata">

**Author:** ![totosbien](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/e19b73/32.png) [@totosbien](https://www.ruby-forum.com/u/totosbien)\
**Post date:** [October 4, 2010, 11:36am UTC](https://www.ruby-forum.com/t/routes-e-instradamento/195857/2 "2010-10-04T11:36:54Z")

</div>

Sembra un errore identico a quello per cui si chiedevano lumi in  
[RESTful problems - \_url failed to generate - Rails - Ruby-Forum](http://www.ruby-forum.com/topic/159637) (uno dei primi link ritornati da  
una googlata per rails failed to generate from)

Forse dovevi scrivere nome\_della\_tua\_classe\_path(@oggetto) invece di  
nome\_della\_tua\_classe\_url(@oggetto) ?

Controlla anche cosa ti dice rake routes. Tra le varie rotte dovresti  
avere

nome\_della\_tua\_classe GET /nome\_della\_tua\_classe/:id(.:format)  
{:action=\>“show”, :controller=\>“nome\_della\_tua\_classe”}

Se non c’Ã¨ allora il routing Ã¨ sbagliato.

Se hai usato un nome in italiano per il modello stai attento a come  
rails ne gestisce i plurali ed i singolari. Per tante ragioni Ã¨ sempre  
meglio usare nomi in inglese per i modelli e solo poi metterci sopra  
delle traduzioni. Ad esempio vedi  
[http://www.tricksonrails.com/2010/05/i18n\_routing-translate-your-rails2-rails3-routes-with-ease/](http://www.tricksonrails.com/2010/05/i18n_routing-translate-your-rails2-rails3-routes-with-ease/)

Paolo

Sal P. wrote:

> Ciao a tutti,  
> ho un problema con l’url, in pratica l’errore Ã¨ il seguente:
> 
> (nome\_della\_mia\_classe)\_url failed to generate from  
> {:controller=\>“nome\_della\_tabella”, :action=\>“show”, :id=\>#\<Classe  
> campo\_della\_tabella\_1: 1, campo\_della\_tabella\_2: “TESTO DI PROVA”,  
> campo\_della\_tabella\_3: ", … campo\_della\_tabella\_N: " "\>}
> 
> credo di aver capito che l’errore si riferisca alla connect contenuta  
> nel file routes.rb:
> 
> …  
> map.resources :nome\_tabella  
> map.connect ‘:controller/:action/:id’  
> map.connect ‘:controller/:action/:id.:format’  
> …
> 
> ma provando a modificare in vari modi non sono riuscito a risolvere…  
> secondo voi dovrei cambiare le variabili in questo modo? :  
> :controller = :nome\_del\_mio\_controller  
> :action = :nome\_dell’action  
> :id = :nome\_primo\_campo\_della\_tabella
> 
> Ciao
