5

現在、Ruby on Rails 3.2.8 を使用しており、config/routes.rbに次のリダイレクトがあります。

root :to => redirect("/home/index.html")

これは、開発中に http ://localhost:3000/http://localhost:3000/home/index.htmlにリダイレクトするのにうまく機能します。しかし、私のテスト環境では、次のようにconfig/environments/test.rbにrelative_url_rootを設定して、プロキシとサブパスを使用しています。

config.action_controller.relative_url_root = '/testpath'

したがって、 http ://testdomain.com/testpath からhttp://testdomain.com/testpath/home/index.htmlへのリダイレクトが期待されますが、代わりに http://testdomain.com/home/index.html にリダイレクトされます .

リダイレクトステートメントが設定されている場合、relative_url_root を使用するように変更するにはどうすればよいですか?

4

2 に答える 2

6

メソッドが廃止されたとは思いませんが、壊れているようです。次のような方法で問題を回避できるはずです。

root :to => redirect("#{ Rails.application.config.action_controller.relative_url_root }/home/index.html")

このバグは私のマシンでは再現できないことを指摘する価値があるかもしれません (私はシンを使用しています)。あなたが提示したコードは意図したとおりに機能します。

于 2012-12-04T01:22:00.070 に答える
0

このrelative_url_rootメソッドは廃止されたようです。Rails 3ソリューションについては、このSO投稿を参照してください:Rails3開発のベースURLを変更する

于 2012-12-04T00:52:37.970 に答える