Closed sumura80 closed 5 years ago
@sumura80
request URLなのでまずは rake routes
で該当しているルーティングが定義されているか確認してみるのが先かなと思います:bow:
@rexitorg
rake routes
を確認したところルーティングは定義されております。Deviseを使用しているので、こちらは自動で作成されている様です。
@rexitorg こちら解決しましたので、クローズさせていただきます。 ありがとうございました。
おお良かったです。原因はなんだったか可能であれば記載をお願いします。 パスワード再設定メールに記載するURLをフルパスにする必要があったとかでしょうか?
原因は、productionの環境設定で、自分のドメインを設定していないことが原因でした。:sweat:
config.action_mailer.default_url_options = { host: '自分で取得したドメイン' }
しかも自分の場合 www
も記述していなかったので、エラーが出ておりました。
概要
Deviseを使用しており、”Forgot your password"の機能を利用すると、メールがきた時にURLをクリックするとエラーになります。
実現したいこと
Deviseの”Forgot your password"の機能を使えるようにしたい。
困っていること
"Change your password"を押すと"Not Found"エラーがです。
下記が自分の行ったプロセスです。
Forgot your password?
をクリックしたとします。2.するとこのようにメールアドレスを入力する欄にいき、送信します。
3.そうすると自分に送信されたことが
flash
で表示されます。4.そうすると先ほど送信した宛先にパスワードを変更できる
Change my password
URLが送られきます。Not Found
が表示されてしまいます。/app/views/devise/passwords/edit のファイルは存在しているのですが、なぜここで
Not Found
になるのかが不明です。Request先がおかしいのかなと思っております。
/app/views/devise/passwords/edit
Railsチュートリアルを見たのですが、そこではメソッドを再設定したりしているのですが、Deviseを使っているのにそこまでするつ必要があるのかなという思っております。 https://railstutorial.jp/chapters/account_activation_password_reset?version=4.2#sec-password_resets_controller_and_form
また他のサイトでは、カスタマイズもありますが、なんか違うなと思います。 https://easyramble.com/customize-mail-template-of-devise.html
ご教示いただけませんでしょうか? よろしくお願いいたします。