5

Rails 3.2.11 アプリでは、www を非 www にリダイレクトするために次のルートがあります。

constraints(:host => /www.foo.com/) do
    root :to => redirect("http://foo.com")
    match '/*path', :to => redirect {|params| "http://foo.com/#{params[:path]}"}
end

とにかく、rspec は次の警告をスローします。

DEPRECATION WARNING: redirect blocks with arity of 1 are deprecated. Your block must take 2 parameters: the environment, and a request object. (called from block (2 levels) in <top (required)> at /foo/config/routes.rb:6)

Googleで何かを見つけることができなかったので、この警告を取り除く方法を誰かが知っているかどうか尋ねようと思いました.

ありがとう

4

1 に答える 1

5

したがって、リダイレクトブロックで2番目のパラメーターを取得するだけです。

constraints(:host => /www.foo.com/) do
  root :to => redirect("http://foo.com")
  match '/*path', :to => redirect {|params,request| "http://foo.com/#{params[:path]}"}
end

このメソッドのドキュメントはこちらで見ることができます

于 2013-01-28T23:22:50.163 に答える