アクションメーラーを使用して、Railsアプリにパスワードリセット機能を追加しようとしています。パスワードをリセットするために生成されたリンクが正しくないことを除いて、すべてが正常に機能しているようです。
ファイルは次のとおりです。
File user_mailer.rb
:
class UserMailer < ActionMailer::Base
default from: "from@example.com"
def password_reset(user)
@user = user #make the user available in mailer template
mail :to => user.email, :subject => "Password Reset"
end
end
File password_reset.text.erb
次のリンクが含まれています。
<%= edit_password_resets_url(@user.password_reset_token) %>
メールとトークンの値を取得すると、user変数が正しく渡されていることがわかります。ただし、メーラーで生成されるURLは次のようになります。
http://localhost:3000/password_reset/edit.jo_jYhkjsdjskjdskYHJSDA
ただし、期待値は次のようになります
http://localhost:3000/password_resets/jo_jYhkjsdjskjdskYHJSDA/edit
以下を持っているroutes.rb
resource :password_resets
また、レーキルートは次のことを示しています。
edit_password_resets GET /password_resets(.:format) password_resets#edit
何がうまくいかない可能性がありますか?
注:私はライアンベイツのレールキャスト#274をフォローしています