【devise・メール認証】メール内リンクはpathではなくurlの件

【devise・メール認証】メール内リンクはpathではなくurlの件

結論

  • メール内のリンクをpathで作ろうとしていて、エラー
    • 引数をうまく渡せないというエラー
      • 少しRoutingをいじっていたために、view側の修正が必要だった
      • メール内リンクのinvitation_pathにidを渡してあげる必要があった
    • templateのエラー
      • うまく渡せており、rails cしてもうまくpathが作られていることを確認した
      • しかしいつまでもActionview::Templateエラーが起きている状況だった
  • メール内のリンクをurlとした結果、解決
    • メールからは、フルパスが必要
      • メールからのアクセスにはpathではなく、ドメイン名から必要になるためivitation_urlのようにしてあげる必要があった
    • またメールのトークンなどもあるため、それらはpathでは認識されない
      • pathにconfirmation_tokenなどを渡しても、反映されない、、、
      • urlにtokenを渡してあげると、しっかり反映
    • urlが意図通り作成されているかは、rails cから確認する
      • rails c > app.invitation_path(id: @id, invitation_token: @token) > http://example.com/id/invitation/accept?token=”6th52kkqmq9kjfg”

Leave a Reply

Your email address will not be published.

CAPTCHA