簡體   English   中英

Devise用戶的自定義update_email方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM