2012/01/07: ルート設定でパラメーターにドット「.」を許可する
カテゴリ: Ruby on Rails
投稿者: terada
Railsのルート設定をなんとかして、下記のようにアクセスできるようにするためのメモです。
GETパラメータにメールアドレスを含ませたかったのですが、この例のように末尾のパラメータがドットを含む場合、何もしないとデフォルトで(.:format)が設定されているために「net」の部分がformatだと勘違いされたり、そもそもパラメーター内にドット「.」が許可されていなかったりしたので、そこら辺をなんとかするためのノウハウです。
まず、
で、デフォルトで設定されるオプションパラメータを無効にします。
次に、
で、ドット「.」を許可します。
最終的にこんな感じでOKでした。
参考
トラックバックURL
http://app.com/hoge/someone@mail.com
GETパラメータにメールアドレスを含ませたかったのですが、この例のように末尾のパラメータがドットを含む場合、何もしないとデフォルトで(.:format)が設定されているために「net」の部分がformatだと勘違いされたり、そもそもパラメーター内にドット「.」が許可されていなかったりしたので、そこら辺をなんとかするためのノウハウです。
まず、
:format=>false
で、デフォルトで設定されるオプションパラメータを無効にします。
次に、
:mail => /.*/
で、ドット「.」を許可します。
最終的にこんな感じでOKでした。
match 'hoge/:mail' => 'hoge#myaction', :via => 'get', :as => 'my_action', :format=>false, :mail => /.*/
参考