2011-08-03 1 views
8

J'ai une application qui a un contrôleur d'enregistrement personnalisé, appelé users_controller, pour médite parce que l'administrateur est en mesure de créer des utilisateurs. Je veux permettre aux utilisateurs de changer leur mot de passe en entrant leur ancien mot de passe et en entrant un nouveau et j'ai trouvé: https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-password mais il ne donne pas assez de détails., permettant aux utilisateurs Concevoir de changer les mots de passe

Que dois-je mettre dans mes voies?

Où et quoi dois-je mettre dans mon point de vue?

Répondre

19

Si vous avez un modèle DEVISE utilisateur, vous pouvez utiliser cette voie pour acheminer vers la page de mot de passe de changement.

edit_user_registration_path 

Il suffit d'utiliser cela dans votre point de vue:

<%= link_to 'Change Password', edit_user_registration_path %> 

Cela devrait faire l'affaire, ça marche pour moi.

6

J'ai trouvé le Soulution et ont résolu ce sur le Devise wiki

+0

bien .. voulez-vous partager avec un lien plus spécifique? Mais merci im regardant là-bas :) –

+1

@DavidMauricio C'était pour une version plus ancienne de Devise. La version actuelle, vous pouvez faire quelque chose comme '' '@ user.update_with_password (params [: user])' '' –

+1

est ici un lien vers les informations réelles: https://github.com/plataformatec/devise/wiki/How- Pour: Autoriser les utilisateurs à modifier leur mot de passe, c'est assez long sinon je le copierais mot pour mot. – Soup

0

Ce n'est pas suffisant, difficile. Vous devrez ajouter attr_accessor :current_password au modèle, comme expliqué dans here.

Questions connexes