2
A
回答
4
您需要重寫Devise的passwords_controller
,您可以看到here的默認方法。首先,創建自己的控制器,它會從設計控制器繼承:
class User::PasswordsController < Devise::PasswordsController
一旦你有你的控制器準備好,加入所有的,你不希望覆蓋等方法,而只是內部調用super其中。這將是new
,edit
和create
方法。另外不要忘記添加受保護的after_sending_reset_password_instructions_path_for(resource_name)
方法。
您關心覆蓋的方法是update
操作。
def update
self.resource = resource_class.reset_password_by_token(resource_params)
if resource.errors.empty?
flash_message = resource.active_for_authentication? ? :updated : :updated_not_active
set_flash_message(:notice, "Your flash message here")
redirect_to new_user_session_path
else
respond_with resource
end
end
所有我們在這裏改變的是刪除與重定向到登錄頁面,用戶簽署線,然後將我們自定義的提示信息。
最後,你必須告訴設計使用新的控制器,所以在routes.rb
變化devise_for :users
到:
devise_for :users, :controllers => { :passwords => 'users/passwords' }
而且應該這樣做。
0
上述答案是正確的,但事情是根據設計版本而有所不同。我遵循上面說的,我無法得到它的工作,一段時間後,我發現我使用的設計版本不支持resource_params方法,然後我嘗試了不同的版本,並得到它的工作。
2
下面是根據色器件3.1.1更新
class Users::PasswordsController < Devise::PasswordsController
def new
super
end
def edit
super
end
def create
super
end
#override this so user isn't signed in after resetting password
def update
self.resource = resource_class.reset_password_by_token(resource_params)
if resource.errors.empty?
resource.unlock_access! if unlockable?(resource)
flash_message = resource.active_for_authentication? ? :updated : :updated_not_active
set_flash_message(:notice, flash_message) if is_navigational_format?
respond_with resource, :location => after_resetting_password_path_for(resource)
else
respond_with resource
end
end
protected
def after_resetting_password_path_for(resource)
new_session_path(resource)
end
末
相關問題
- 1. 日誌SQL Server密碼更改
- 2. 密碼驗證中斷設計確認
- 3. jquery驗證:密碼更改和確認
- 4. 在設計用戶上更改密碼
- 5. 在設計中更改用戶密碼
- 6. 設計驗證 - 密碼恢復後無需確認
- 7. 設計不驗證密碼/密碼確認
- 8. 設計在密碼更改後註銷用戶
- 9. 設計密碼確認
- 10. 需要舊密碼更改新密碼authlogic認證
- 11. 用設計發送密碼更改確認
- 12. 設計更改密碼格式
- 13. Rails 3設計手動更改密碼
- 14. 設計自定義密碼更改
- 15. 設計,允許用戶更改密碼
- 16. 用戶在drupal中更改密碼時記錄在日誌中
- 17. 更改密碼時驗證舊密碼
- 18. 設計..第一次登錄後應該要求更改密碼
- 19. 更改設計初始值設定項,現在認證中斷
- 20. 更新密碼設計
- 21. 設計更新密碼
- 22. 設計密碼更新
- 23. 雙密碼認證
- 24. 在asp.net身份更改密碼驗證
- 25. 在更改爲新密碼之前確認舊密碼codeigniter
- 26. Laravel 5.2 - 驗證用戶更改密碼 - 更新後密碼匹配問題
- 27. MVC驗證更改密碼。當前密碼與新密碼
- 28. 使用材料設計lite錯誤確認密碼驗證
- 29. 如何設計寧靜登記,認證,重置密碼
- 30. 刪除密碼確認;設計