2010-11-04 26 views
14

attualmente con ideare & rotaie 3 c'è un una pagina pagina di modifica dell'utente:/Users/modificaredisposizione testamentaria - Personalizzare l'utente Modifica pagine

vorrei dividere quello fuori in sezioni per una migliore interfaccia utente, qualcosa di simile:

/account/settings 
/account/password 
/account/notices 
/account/disable 

Inoltre, vorrei richiedere all'utente di inserire la password corrente quando un utente vuole cambiare la sua password.

Con l'escogitare, per fare in modo che ciò accada, è necessario un nuovo controller oppure è possibile gestirlo con percorsi?

Inoltre, attualmente, la pagina di modifica vive qui: app/views/escogitare/registrazioni

mi consiglia l'aggiunta di queste pagine ci sono? O in/app/views/users?

Grazie

risposta

15

Hai più opzioni qui. Vorrei andare con la prima opzione in quanto sembra adattarsi più naturalmente a ciò che si sta tentando di fare.

  1. Sovrascrive il controller delle registrazioni di devise ereditando da esso e aggiorna le viste e le rotte corrispondenti. Ecco cosa escogitare di site dice su questo:

    Configurazione dei controller di

    Se la personalizzazione alle viste livello non è sufficiente, è possibile personalizzare ogni controller seguendo questi passaggi:

    1) Crea il tuo controller personalizzato, per esempio admins :: SessionsController:

    amministratori di classe :: SessionsController < Devise :: SessionsController finali

    2) dire al router per utilizzare questo controllore:

    devise_for: amministratori,: controller => {: sessioni => "admins/sessioni" }

    3) E dato che abbiamo cambiato il controller , non userà il punto di vista "ideare/sessioni", quindi ricordatevi copiare "ideare/sessioni" a "admin/sessioni".

    Ricordare che Devise utilizza i messaggi flash per consentire agli utenti di sapere se l'accesso ha avuto esito positivo o negativo. Devise si aspetta che l'applicazione chiami "flash [: notice]" e "flash [: alert]" come appropriato.

  2. utilizzare il controller utente e aggiungere le azioni lì con corrispondente vista (non la mia scelta)

Problemi correlati