Routes e instradamento

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

Sembra un errore identico a quello per cui si chiedevano lumi in
RESTful problems - _url failed to generate - Rails - Ruby-Forum (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/

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