Reutes: inserire un namespace un resource

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
dove polls e la mio resource, 2 e l’id del poll, report e un controller e start ela 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 :smiley:

Andrea

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

ciao,
A.

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

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 :frowning:

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

ciao,
A.

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

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:

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: