[英]Custom update_email method for Devise user
我希望有一個控制器端點,而不是處理Devise用戶電子郵件的更新。 理想情況下,當用戶使用當前密碼提交新電子郵件時,其行為就像我提交了Devise中打包的默認edit
表單一樣。
我在設計配置中啟用了config.reconfirmable
。 但是,每當我嘗試輸入以下內容時:
User.find(1).update_with_password(email: 'asdf@email.com', password: 'currentpass')
在rails控制台中,它回滾數據庫更新
User Exists (0.4ms) SELECT 1 AS one FROM "users" WHERE ("users"."email" = 'asdf@email.com' AND "users"."id" != 1) LIMIT 1
當我在控制台中測試確認電子郵件時
User.find(1).send_confirmation_instructions
它按預期工作。
閱讀完文檔后,您必須使用current_password
作為用戶密碼的密鑰。
User.find(1).update_with_password(email: 'asdf@email.com', current_password: 'currentpass')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.