Nei miei precedenti progetti di apprendimento ho sempre utilizzato un singolo controller, ma ora mi chiedo se sia una buona pratica o anche sempre possibile.Il frontend e il backend dovrebbero essere gestiti da diversi controller?
In tutti i tutorial RESTful Rails i controller dispongono di una show
, una edit
e una vista index
. Se un utente autorizzato è connesso, la vista edit
diventa disponibile e la vista index
mostra ulteriori controlli di manipolazione dei dati, come un pulsante di eliminazione o un collegamento alla vista edit
.
Ora ho un applicazione Rails che cade esattamente in questo schema, ma la vista index
non è riutilizzabile:
- L'utente normale vede una pagina di indice appariscente con un sacco di immagini, layout complessi, nessun requisito Javascript , ...
- L'indice utente Admin ha un design completamente diverso minimalista, tavolo jQuery e un sacco di dati aggiuntivi, ...
Ora io non sono sicuro di come gestire questo caso. Mi viene in mente quanto segue:
- Controller singolo, unico punto di vista: la vista è diviso in due grandi blocchi/parziali utilizzando un
if
dichiarazione. - Controller singolo, due visualizzazioni:
index
eindex_admin
. - Due diversi controller:
BookController
eBookAdminController
Nessuna di queste soluzioni sembra perfetto, ma per ora io sono incline a utilizzare l'opzione 3.
Qual è il modo preferito per farlo?