# Reutes: inserire un namespace un resource

**URL:** <https://www.ruby-forum.com/t/reutes-inserire-un-namespace-un-resource/199124>\
**Category:** IT\
**Created:** [November 15, 2010, 10:38am UTC](https://www.ruby-forum.com/t/reutes-inserire-un-namespace-un-resource/199124 "2010-11-15T10:38:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![okkezSS](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/85f322/32.png) [@okkezSS](https://www.ruby-forum.com/u/okkezSS)\
**Post date:** [November 15, 2010, 10:38am UTC](https://www.ruby-forum.com/t/reutes-inserire-un-namespace-un-resource/199124/1 "2010-11-15T10:38:27Z")

</div>

Ciao a tutti,

Sto giocando con le route del 3 e vorrei inserire un namespace  
all’interno di una resource.  
Esempio pratico: ho un controller “reports” che mi contiene tutta la  
reportistica in riferimento al modello modello “poll”. Ovviamente potrei  
scaricare tutto nel controller pool ma diventa enorme e illeggibile,  
oltretutto i report sono un gruppo di viste omogenee e si adattano bene  
ad avere un controller tutto loro.

il mio routes.rb attuale

resources :poll do  
resources :part do  
member do  
get …  
post …  
end  
end  
member do  
get report1, report2, report3, report4, ecc  
post …  
end  
end

in questo modo ovviamente funziona ma il controller diventa veramente  
obbeso!

io invece vorrei ottenere una cosa del genere:

resources :poll do  
resources :part do  
member do  
get …  
post …  
end  
end  
member do  
get …  
post …  
end  
namespace :report do  
get report1, report2 ecc  
end  
end

in modo da ottenere un url simile:  
[http://localhost/polls/2/report/start](http://localhost/polls/2/report/start)  
dove polls e` la mio resource, 2 e` l’id del poll, report e` un controller e start e`la vista . Il report start e` ovviamente afferente  
al poll 2.

Potete anche dirmi che sto facendo una stupidaggine, non mi offendero`,  
oltretutto potreste avere raggione 😃

Andrea

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [November 15, 2010, 11:25am UTC](https://www.ruby-forum.com/t/reutes-inserire-un-namespace-un-resource/199124/2 "2010-11-15T11:25:25Z")

</div>

cos a occhio, dovrebbe bastare questo:

resources :poll do  
resources :part do  
…  
end  
member do  
…  
end  
resources :report do  
…  
end  
end

controlla anche qui:[Rails Routing from the Outside In — Ruby on Rails Guides](http://guides.rubyonrails.org/routing.html)

ciao,  
A.

Il 15/11/2010 10:38, Andrea R. ha scritto:

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [November 15, 2010, 12:18pm UTC](https://www.ruby-forum.com/t/reutes-inserire-un-namespace-un-resource/199124/3 "2010-11-15T12:18:57Z")

</div>

Gia` provato, funziona ma mi aggiunge anche tutte le rotte degli scaffold (news delete ecc) e ti danno errore...... Se ci fosse un metodo che non richiamasse una tabella sarei piu`  
contento  
invece, me triste ☹

Nella guida al routing avevo gia` guardato, ma non e` un caso  
contemplato.  
me molto triste =\<

P.S. Chiedo scusa per l’uso infantile delle faccine

Andrea P. wrote in post #961513:

> cos a occhio, dovrebbe bastare questo:
> 
> resources :poll do  
> resources :part do  
> …  
> end  
> member do  
> …  
> end  
> resources :report do  
> …  
> end  
> end
> 
> controlla anche qui:[Rails Routing from the Outside In — Ruby on Rails Guides](http://guides.rubyonrails.org/routing.html)
> 
> ciao,  
> A.
> 
> Il 15/11/2010 10:38, Andrea R. ha scritto:

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [November 15, 2010, 2:52pm UTC](https://www.ruby-forum.com/t/reutes-inserire-un-namespace-un-resource/199124/4 "2010-11-15T14:52:24Z")

</div>

Ho risolto con:

…  
resources :report, :only =\> [:index] do  
collection do  
get :start\_report, :stop\_report, ecc…  
end  
end

Grazie moltissimo per l’aiuto.

Andrea

Andrea P. wrote in post #961536:

> basta aggiungere un :except o :only per stabilire quali actions di  
> interessano
> 
> esempio al volo:  
> …  
> resources :report, :except [:new, :edit, …] do  
> …  
> end  
> …
> 
> ciao,  
> A.
> 
> Il 15/11/2010 12:18, Andrea R. ha scritto:

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [November 15, 2010, 12:58pm UTC](https://www.ruby-forum.com/t/reutes-inserire-un-namespace-un-resource/199124/5 "2010-11-15T12:58:19Z")

</div>

basta aggiungere un :except o :only per stabilire quali actions di  
interessano

esempio al volo:  
…  
resources :report, :except [:new, :edit, …] do  
…  
end  
…

ciao,  
A.

Il 15/11/2010 12:18, Andrea R. ha scritto:
