2011-08-03 45 views
8

Tôi có một ứng dụng có một bộ điều khiển đăng ký tùy chỉnh, được gọi là users_controller, được thiết lập vì chỉ quản trị viên mới có thể tạo người dùng. Tôi muốn cho phép người dùng thay đổi mật khẩu của họ bằng cách nhập mật khẩu cũ của họ và nhập mật khẩu mới và tôi đã tìm thấy: https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-password nhưng không cung cấp đủ chi tiết.Devise, cho phép người dùng thay đổi mật khẩu

Tôi cần phải đặt gì trong tuyến đường của mình?

Tôi cần đặt ở đâu và những gì trong quan điểm của mình?

Trả lời

19

Nếu bạn có một mô hình devise dùng, bạn có thể sử dụng con đường này để định tuyến để trang thay đổi mật khẩu.

edit_user_registration_path 

Chỉ cần sử dụng này theo quan điểm của mình như:

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

này nên làm như lừa, nó làm việc cho tôi.

6

tôi đã tìm thấy các soulution và đã khắc phục này trên Devise wiki

+0

cũng .. bạn có muốn chia sẻ với một liên kết cụ thể hơn không? Nhưng cảm ơn im nhìn lên đó :) –

+1

@DavidMauricio Đây là phiên bản cũ của Devise. Phiên bản hiện tại bạn có thể làm một cái gì đó như '' '@ user.update_with_password (params [: user])' '' –

+1

Đây là một liên kết đến thông tin thực tế: https://github.com/plataformatec/devise/wiki/How- Để: -Cho phép người dùng-để-chỉnh sửa-mật khẩu của họ, nó khá dài khác tôi muốn sao chép nó ở đây đúng nguyên văn. – Soup

0

Điều này là không đủ, khó khăn. Bạn sẽ phải thêm attr_accessor :current_password vào mô hình, như được giải thích trong here.

Các vấn đề liên quan