質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

980閲覧

Rails devise パスワードリセットトークンが合わない(生成されたもの・届いたもの)

keiiti

総合スコア29

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2020/09/10 06:35

編集2020/09/14 02:07

こんにちは!

前提・実現したいこと

devise を導入し、ユーザーの情報変更を確認用パスワードなしで、変更可能にしました。
しかし、そうするとパスワードのリセットができなくなることがわかりました。

パスワードリセットのためのメールが届いて、そこからパスワードの再設定をしようと、フォームに入力しsubmitすると以下のエラーがおきます。

色々調べて参考に書き換えなども行いましたが、うまく動作しませんでした。

実現したいことは、
・userは情報変更するために現在のパスワード入力を必要としない。
・パスワードリセットし再設定できるようになる。
この2点です。
何か助けになるコード、記事、考え方などありませんか?
よろしくお願いします!

パスワードリセット用トークン translation missing: ja.activerecord.errors.models.user.attributes.reset_password_token.blank

該当のソースコード

User.rb

以下を追加 def update_without_current_password(params, *options) params.delete(:current_password) if params[:password].blank? && params[:password_confirmation].blank? params.delete(:password) params.delete(:password_confirmation) end result = update_attributes(params, *options) clean_up_passwords result end
class Users::RegistrationsController < Devise::RegistrationsController def update_resource(resource, params) resource.update_without_password(params) end ↓変更後 def update_resource(resource, params) resource.update_without_current_password(params) end end

必要であれば、影響していると考えられるコードも追記します。

※追記
現在のパスワードは入力せずに、パスワード変更をすることはできます。

※2020/09/14追記
新しくわかったこと
パスワード忘れのリンクからユーザーがメールアドレスを入力し、リセット案内のメールが届く。
この時、DBを確認してみると、生成されたreset password tokenと届いたメールのreset password tokenが全然違うものになっていることがわかりました。
それに伴いタイトルを変えました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問