RoR Devise: L'utilizzo di un nome utente non modificabile
-
25-09-2019 - |
Domanda
sto usando Devise in Rails 3 app, e ho configurato correttamente in modo che esso utilizza un nome utente come il suo metodo di autenticazione al posto di una e-mail. Il problema è che nel controller registrazioni di default per disposizione testamentaria, si chiama un metodo "update_with_password" sulle params passati in modo efficace, che permette agli utenti di cambiare il loro nome utente e la password. Questo comportamento ha un senso se si sta utilizzando e-mail come metodo di autenticazione, dal momento che è ragionevole aspettarsi le persone siano in grado di cambiare la loro e-mail. Tuttavia, con l'utilizzo di nomi utente, preferisco gli utenti non essere in grado di modificarli; Voglio solo che siano in grado di cambiare la loro password. Sarebbe questo modo migliore per farlo è quello di ignorare il RegistrationsController, e prevenire la massa-assegnazione di params in modo che solo la password può essere modificata?
Spero che questo sia chiaro. Grazie!
Soluzione
Ok, ho risolto. Ho aggiunto attr_readonly alla variabile nome utente, in modo che non può essere modificato con l'assegnazione di massa.