Ti ringrazio, è quello che avevo stavo leggendo anch'io.

Una soluzione pare quella di creare dei namespace per Controller e Viste.

Es:

codice:
ruby script generate controller admin/products
Questo genera automaticamente una sottocartella "/admin/" sotto la "app/controller" ed "app/views".

Un'altra soluzione che ho notato è quella di usare un'unico controller e gestire l'accesso ad azioni "sensibili" come: new/create/update/delete solo per un'eventuale amministratore loggato.

Il tutto gestito da dei "before_filter" in cima al Controller per verificare se un'utente ha o meno le credeziali per eseguire una determinata "action".

Tuttavia questa opzione lascia si il codice più centrallizzato ma ... pure troppo a mio modo di vedere, si rischia forse di avere "troppa carne al fuoco" in un'unico controller che dovrebbe gestire sia l'aspetto "public" che di "private" (CMS).

Che ne pensate?