# Aiuto su tutorial

**URL:** <https://www.ruby-forum.com/t/aiuto-su-tutorial/114080>\
**Category:** IT\
**Created:** [September 7, 2007, 5:58pm UTC](https://www.ruby-forum.com/t/aiuto-su-tutorial/114080 "2007-09-07T17:58:13Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [September 7, 2007, 5:58pm UTC](https://www.ruby-forum.com/t/aiuto-su-tutorial/114080/1 "2007-09-07T17:58:13Z")

</div>

Sto seguendo un tutorial su un libro…

Dopo aver creato il db mi dice di fare:

# ruby script/server scaffold Product Admin

nathan:/var/rails/commerce# script/generate scaffold Product Admin  
exists app/controllers/  
exists app/helpers/  
create app/views/admin  
exists app/views/layouts/  
exists test/functional/  
dependency model  
exists app/models/  
exists test/unit/  
exists test/fixtures/  
identical app/models/product.rb  
identical test/unit/product\_test.rb  
identical test/fixtures/products.yml  
create app/views/admin/\_form.rhtml  
create app/views/admin/list.rhtml  
create app/views/admin/show.rhtml  
create app/views/admin/new.rhtml  
create app/views/admin/edit.rhtml  
create app/controllers/admin\_controller.rb  
create test/functional/admin\_controller\_test.rb  
create app/helpers/admin\_helper.rb  
create app/views/layouts/admin.rhtml  
create public/stylesheets/scaffold.css  
nathan:/var/rails/commerce# script/server

poi mi dice che all’url [http://localhost:3000/commerce/admin/list](http://localhost:3000/commerce/admin/list) avrò una  
lista dei prodotti nel db che però sarà vuota visto che non ho inserito  
niente.  
però il browser mi da un errore:  
Routing Error

no route found to match “/commerce/admin/list” with {:method=\>:get}

cosa manca?  
Grazie a tutti  
Bonzo

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [September 7, 2007, 6:26pm UTC](https://www.ruby-forum.com/t/aiuto-su-tutorial/114080/2 "2007-09-07T18:26:16Z")

</div>

A occhio direi che lo scaffolding non è “al passo” con RESTful routing. Se  
provi con localhost:3000/commerce/admin/ ti funziona?

Puoi provare a fare  
def index  
render :action =\> ‘list’  
end

def list

# Il tuo metodo già definito (o lo scaffold te lo crea al volo? non lo

uso mai e quindi non mi ricordo bene)  
end

Nella console trovo spesso utile usare robe tipo  
app.new\_account\_path

per verificare che mi manda effettivamente a /accounts/new

🙂

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [September 9, 2007, 3:31pm UTC](https://www.ruby-forum.com/t/aiuto-su-tutorial/114080/3 "2007-09-09T15:31:19Z")

</div>

> A occhio direi che lo scaffolding non è “al passo” con RESTful routing. Se  
> provi con localhost:3000/commerce/admin/ ti funziona?

Se faccio questo indirizzo l’errore è lo stesso:  
Routing Error

no route found to match “/commerce/admin” with {:method=\>:get}

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [September 9, 2007, 3:34pm UTC](https://www.ruby-forum.com/t/aiuto-su-tutorial/114080/4 "2007-09-09T15:34:19Z")

</div>

> 

Dove lo metto questo codice?

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [September 9, 2007, 3:50pm UTC](https://www.ruby-forum.com/t/aiuto-su-tutorial/114080/5 "2007-09-09T15:50:20Z")

</div>

> Ma non è che devi cercare la roba sotto la root direttamente… mi sa di  
> sì! “localhost:3000/admin/list” funziona?

L’errore è lo stesso sia su /admin/list che su /admin

anche sotto /commerce  
Routing Error

no route found to match “/commerce/” with {:method=\>:get}

Devo postare il codice di qualche pagina?

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [September 9, 2007, 3:39pm UTC](https://www.ruby-forum.com/t/aiuto-su-tutorial/114080/6 "2007-09-09T15:39:19Z")

</div>

On Fri, 7 Sep 2007 17:57:23 +0200, Bonzo wrote:

> Sto seguendo un tutorial su un libro…  
> poi mi dice che all’url [http://localhost:3000/commerce/admin/list](http://localhost:3000/commerce/admin/list) avrò una  
> lista dei prodotti nel db che però sarà vuota visto che non ho inserito  
> niente.  
> però il browser mi da un errore:  
> Routing Error
> 
> no route found to match “/commerce/admin/list” with {:method=\>:get}

Ma non è che devi cercare la roba sotto la root direttamente… mi sa di  
sì! “localhost:3000/admin/list” funziona?

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [September 9, 2007, 3:54pm UTC](https://www.ruby-forum.com/t/aiuto-su-tutorial/114080/7 "2007-09-09T15:54:20Z")

</div>

On Sun, 9 Sep 2007 15:48:40 +0200, Bonzo wrote:

> no route found to match “/commerce/” with {:method=\>:get}
> 
> Devo postare il codice di qualche pagina?

Direi che non serve. Il tuo problema sta a monte; magari c’è anche qualche  
problema al codice, ma se non ti va manco la root…

Giusto per essere sicuro di aver capito: [http://localhost:3000](http://localhost:3000) ti  
dà routing error? Sei sicuro di non aver lanciato un’altro server sulla  
porta 3000? Stoppa il server con mongrel\_rails stop e fai un ps auxwww |  
grep mongrel per accertarti che non sta acceso da un’altra parte anche  
(usi mongrel? sennò fa uguale ma con script/server stop e cerca processi  
ruby nella processlist).

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [September 9, 2007, 4:06pm UTC](https://www.ruby-forum.com/t/aiuto-su-tutorial/114080/8 "2007-09-09T16:06:21Z")

</div>

allora avevi ragione:

[http://localhost:3000/admin/list](http://localhost:3000/admin/list) funziona.

Come mai fa  
così?  
Grazie  
bonzo

P.S. Scusa, ma non avevo capito che avevi tolto commerce dal percorso.

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [September 9, 2007, 4:35pm UTC](https://www.ruby-forum.com/t/aiuto-su-tutorial/114080/9 "2007-09-09T16:35:25Z")

</div>

🙂

Il server espone in realtà solo la cartella public dell’app; tutte le  
richieste dinamiche (= che non non hanno un file html statico  
corrispondente) vengono intercettati dl dispatcher e “inviati” a rails.  
Il nome della cartella che ti contiene il tutto (“commerce” nel tuo  
caso) non importa e non viene esposto al mondo via http (e va benissimo  
così direi). Rails è diverso da PHP in questo senso e più simile (credo) ad  
applicazioni web fatte in Java. In PHP tendevo a mettere il codice  
dell’app direttamente nella cartella web dell’applicazione e poi  
procedevo al contrario e restringevo l’accesso alle cartelle di codice.  
Rails fa l’opposto (e ripeto: fa benissimo).

Potrai quindi fare un’applicazione contenuta in una cartella  
“eccoti\_cliente\_stronzone” ed esporrlo al mondo come  
“[www.cliente.com/sito\_fighissimo\_nato\_dalla\_tua\_geniale\_spirito\_imprenditoriale](http://www.cliente.com/sito_fighissimo_nato_dalla_tua_geniale_spirito_imprenditoriale)”

🙂
