私のアプリは、URLが含まれるメールを送信します。URLには、暗号化されたクエリ文字列属性が含まれています。+ *のような記号になるように、暗号化された値をCGIでエスケープしました。などはエスケープされます。エスケープされたURLは期待どおりに電子メールに表示されますが、リンクをクリックすると、暗号化された値が復号化されます。
たとえば、メールのURLは次のとおりです 。
email = 5M%2BjE1G6UB26tw / Ah%2Bzr1%2BJSSxeAoP6j
このリンクをクリックすると、ブラウザのURLは http://development.com/activate/snJAmJxkMo3WZ1sG27Aq?album_id=2&email=5M+jE1G6UB26tw/Ah+zr1+JSSxeAoP6j&owner_id=4と表示されます。
email = 5M + jE1G6UB26tw / Ah + zr1 + JSSxeAoP6j
+はスペースに置き換えられます。結果として、params [:email] = 5M jE1G6UB26tw / Ah zr1 JSSxeAoP6j
それは私に404を与えます。
この状況を回避する方法はありますか?ブラウザのURLを次のように表示するにはどうすればよいですか?
ブラウザで?