ブックマーク / itmsc.hatenadiary.org (1)

  • ActionViewとActionControllerでurl_forの挙動が違います - いとうまさしのカチャカチャTODAY

    URLを出力するためにつかう「url_for」というメソッドがあります。 root_path, root_url, XXXX_path, XXXX_urlなどroutes.rbで定義したURLを呼び出すメソッドでも内部的に使っています。 このurl_forやXXXX_urlですが、Controllerの中で呼ぶときとViewの中で呼ぶときで挙動が違います。 Viewで呼ぶ時はURLがエスケープされたものが返ってくるのです。 Controllerでは http://localhost:3000/controller/action?a=1&b=2となるところがViewだと http://localhost:3000/controller/action?a=1&b=2となります。 普通にブラウザを相手にする場合は問題ないですが、 ActionMailerで送信するメールの文面の場合は不具

    ActionViewとActionControllerでurl_forの挙動が違います - いとうまさしのカチャカチャTODAY
    ngtk_ma
    ngtk_ma 2012/05/24
    url_forはActionViewで呼びだすと勝手にエスケープされる。オプションで:escape=>falseを渡すとエスケープされないようにできる。
  • 1