Ho una vista che esegue il rendering di un menu. Queste voci di menu sono dinamiche, in quanto appaiono solo in base a determinate condizioni (ad esempio l'autorizzazione).
Ho due opzioni:
- Codifica il menu nella vista con tutti i condizionali necessari
- Struttura e filtro dei dati al di fuori della vista, quindi la visualizzazione è responsabile solo della visualizzazione di una serie di azioni.
L'opzione 2 sembra essere più elegante per me, ma questo sembra avere il costo di aumentare le dimensioni del controller e non sembra debba essere la responsabilità del controller.
Quindi, le mie domande sono:
- I dati di strutturazione per la pratica standard di visualizzazione?
- Dove dovrebbe vivere la strutturazione di questi dati? Ho preso in considerazione l'utilizzo di un metodo di supporto (importato dal modulo), un oggetto di servizio o solo un metodo privato all'interno del controller, non è chiaro per me quale sarebbe meglio.
Oltre a rispondere alle domande di cui sopra, apprezzerei qualsiasi idea su come affrontare questi tipi di problemi concettuali.
Per quello che vale, il framework MVC che sto utilizzando è rails.