2011-08-03 89 views
8

我有一個應用程序有一個自定義註冊控制器,名爲users_controller,因爲只有管理員才能創建用戶。我想讓用戶通過輸入舊密碼並輸入新密碼來更改他們的密碼,我發現:https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-password但它沒有提供足夠的詳細信息。設計,允許用戶更改密碼

我需要在我的路線中放什麼?

我需要在哪裏以及在我的視圖中放置什麼?

回答

19

如果你有一項模型的用戶,可以使用此路徑路由到更改密碼的頁面。

edit_user_registration_path 

在你看來只是用這個作爲:

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

這應該做的伎倆,它爲我工作。

6

我已經找到了soulution並有固定的這個在Devise wiki

+0

那麼..你會與更具體的鏈接分享?但是,謝謝我在那裏查找:) –

+1

@DavidMauricio這是一個老版本的Devise。當前版本可以執行'''@ user.update_with_password(params [:user])''' –

+1

這裏有一個實際信息的鏈接:https://github.com/plataformatec/devise/wiki/How-爲了: - 允許用戶編輯他們的密碼,它的相當長的時間我會逐字地複製它。 – Soup

0

這還不夠,艱難。您必須在模型中添加attr_accessor :current_password,如here中所述。