url_escape()の使いどころ
入力フォームから別のアクションにリンクでリダイレクトするとします。このとき入力フィールドの値を持っていきたいんですが、リダイレクトすると paramsはクリアされて持っていけないと。ちょっと汚い手ですが、こういうことをよくやります。
link_to '■ パスワード忘れ', forgot_password_path + "?email=#{params[:email]}"
こうすると、いった先で params[:email]が使えてハッピーです。
ちょっとした注意
メールアドレスが URLに積まれて受け渡しされるので、このままだと+などの入ったメールアドレスが化けます。
"test+1@example.com" → "test 1@example.com"
こうしておきましょう。
link_to '■ パスワード忘れ', forgot_password_path + "?email=#{u(params[:email])}"
u()は url_escape()と同じです。