# Errore: ActionController::RoutingError in Books#show

**URL:** <https://www.ruby-forum.com/t/errore-actioncontroller-routingerror-in-books-show/163525>\
**Category:** IT\
**Created:** [March 21, 2009, 2:26pm UTC](https://www.ruby-forum.com/t/errore-actioncontroller-routingerror-in-books-show/163525 "2009-03-21T14:26:50Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![padellini](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/c5a1d2/32.png) [@padellini](https://www.ruby-forum.com/u/padellini)\
**Post date:** [March 21, 2009, 2:26pm UTC](https://www.ruby-forum.com/t/errore-actioncontroller-routingerror-in-books-show/163525/1 "2009-03-21T14:26:50Z")

</div>

Ciao a tutti.

Sono alle prime armi con Ruby e devo dire che Ã¨ molto interessante: sti  
studiando su un testo di Filippo Costalli completo e scorrevole.

Sono riuscito a creare il primo script che interagisce con un db mysql.

PerÃ² ho un problema nell’inserimento dei dati nel db mysql: i dati  
vengono registrati in mysql perÃ² appare quest’errore che non so cosa  
sia:

ActionController::RoutingError in Books#show  
Showing app/views/books/show.html.erb where line #42 raised:

edit\_book\_url failed to generate from {:action=\>“edit”,  
:controller=\>“books”, :id=\>#\<Book ID: 3, TITOLO: “c”, ANNO: 2009,  
AUTORE: “c”, EDITORE: “c”, PAGINE: 10, PREZZO:  
#BigDecimal:381e0cc,‘0.1036E2’,8(8), ISBN: 12\>}, expected:  
{:controller=\>“books”, :action=\>“edit”}, diff: {:id=\>#\<Book ID: 3,  
TITOLO: “c”, ANNO: 2009, AUTORE: “c”, EDITORE: “c”, PAGINE: 10, PREZZO:  
#BigDecimal:381d578,‘0.1036E2’,8(8), ISBN: 12\>}

Extracted source (around line #42):

39:

  
40:  
41:  
42: \<%= link\_to ‘Edit’, edit\_book\_path(@book) %\> |  
43: \<%= link\_to ‘Back’, books\_path %\>

RAILS\_ROOT: C:/biblioteca

Application Trace | Framework Trace | Full Trace  
C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-  
…  
C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action\_controller/vendor/rack-1.0/rack/handler/webrick.rb:13:in  
`run' C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/commands/server.rb:111 C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in`gem\_original\_require’  
C:/Ruby/lib/ruby/site\_ruby/1.8/rubygems/custom\_require.rb:31:in  
`require’  
script/server:3  
Request  
Parameters:

{“id”=\>“3”}

Show session dump

* * *

Response  
Headers:

{“Content-Type”=\>“text/html”,  
“Cache-Control”=\>“no-cache”}

Potete aiutarmi?  
Grazie

---

<div class="post-metadata">

**Author:** ![padellini](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/c5a1d2/32.png) [@padellini](https://www.ruby-forum.com/u/padellini)\
**Post date:** [March 21, 2009, 2:33pm UTC](https://www.ruby-forum.com/t/errore-actioncontroller-routingerror-in-books-show/163525/2 "2009-03-21T14:33:59Z")

</div>

controlla le tue routes, da console se sei nella root della tua  
applicazione puoi lanciare  
rake routes

la prima cosa che mi viene in mente è che non hai definito le tue  
routes restful, in routes.rb dovresti avere questa linea

map.resources :books

prova a lanciare rake routes e vedi se ci sono.

Q

---

<div class="post-metadata">

**Author:** ![padellini](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/c5a1d2/32.png) [@padellini](https://www.ruby-forum.com/u/padellini)\
**Post date:** [March 21, 2009, 2:37pm UTC](https://www.ruby-forum.com/t/errore-actioncontroller-routingerror-in-books-show/163525/3 "2009-03-21T14:37:31Z")

</div>

Andrea C. wrote:

> controlla le tue routes, da console se sei nella root della tua  
> applicazione puoi lanciare  
> rake routes
> 
> la prima cosa che mi viene in mente ï¿½ che non hai definito le tue  
> routes restful, in routes.rb dovresti avere questa linea
> 
> map.resources :books
> 
> prova a lanciare rake routes e vedi se ci sono.
> 
> Q

Grazie, ti allego la schermata restituita dall’applicazione.

---

<div class="post-metadata">

**Author:** ![padellini](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/c5a1d2/32.png) [@padellini](https://www.ruby-forum.com/u/padellini)\
**Post date:** [March 21, 2009, 2:49pm UTC](https://www.ruby-forum.com/t/errore-actioncontroller-routingerror-in-books-show/163525/4 "2009-03-21T14:49:12Z")

</div>

le routes sembrano a posto anche se lo screenshot Ã¨ medievale :]  
pastie Ã¨ una buona alternativa [http://pastie.org/](http://pastie.org/)

forse ci sono, se non ho capito male tu fai il render di quella pagina  
dopo la creazione giusto?  
controlla che @book non sia vuoto, nel metodo show dovresti aver  
definito in questo modo

@book = Book.find(params[:id])

nella create controlla di fare un redirect e non un render, il render  
elabora semplicemente la vista, il redirect richiama prima il metodo  
relativo, se tu per la show fai solo il render @book non viene  
inizializzata.

Q

---

<div class="post-metadata">

**Author:** ![padellini](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/c5a1d2/32.png) [@padellini](https://www.ruby-forum.com/u/padellini)\
**Post date:** [March 21, 2009, 3:11pm UTC](https://www.ruby-forum.com/t/errore-actioncontroller-routingerror-in-books-show/163525/5 "2009-03-21T15:11:21Z")

</div>

Andrea C. wrote:

> le routes sembrano a posto anche se lo screenshot Ã¨ medievale :]  
> pastie Ã¨ una buona alternativa [http://pastie.org/](http://pastie.org/)
> 
> forse ci sono, se non ho capito male tu fai il render di quella pagina  
> dopo la creazione giusto?  
> controlla che @book non sia vuoto, nel metodo show dovresti aver  
> definito in questo modo
> 
> @book = Book.find(params[:id])
> 
> nella create controlla di fare un redirect e non un render, il render  
> elabora semplicemente la vista, il redirect richiama prima il metodo  
> relativo, se tu per la show fai solo il render @book non viene  
> inizializzata.
> 
> Q

Scusa sono un principante… cosa devo fare? dove trovo il metodo show?  
Grazie

---

<div class="post-metadata">

**Author:** ![padellini](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/c5a1d2/32.png) [@padellini](https://www.ruby-forum.com/u/padellini)\
**Post date:** [March 21, 2009, 3:32pm UTC](https://www.ruby-forum.com/t/errore-actioncontroller-routingerror-in-books-show/163525/6 "2009-03-21T15:32:25Z")

</div>

Andrea C. wrote:

> L’ errore che ritorna ti dice tutto, controller books metodo show
> 
> > Showing app/views/books/show.html.erb where line #42 raised:

Grazie per la pazienza.

Questa Ã¨ la pagina show.html.erb:

**Id:** \<%=h @book.ID %\>

**Titolo:** \<%=h @book.TITOLO %\>

**Anno:** \<%=h @book.ANNO %\>

**Autore:** \<%=h @book.AUTORE %\>

**Editore:** \<%=h @book.EDITORE %\>

**Pagine:** \<%=h @book.PAGINE %\>

**Prezzo:** \<%=h @book.PREZZO %\>

**Isbn:** \<%=h @book.ISBN %\>

\<%= link\_to ‘Edit’, edit\_book\_path(@book) %\> |  
\<%= link\_to ‘Back’, books\_path %\>

---

<div class="post-metadata">

**Author:** ![padellini](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/c5a1d2/32.png) [@padellini](https://www.ruby-forum.com/u/padellini)\
**Post date:** [March 21, 2009, 3:18pm UTC](https://www.ruby-forum.com/t/errore-actioncontroller-routingerror-in-books-show/163525/7 "2009-03-21T15:18:31Z")

</div>

L’ errore che ritorna ti dice tutto, controller books metodo show

> Showing app/views/books/show.html.erb where line #42 raised:
