【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”