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 帖子:更改 Rails 3 开发的基本 URL

于 2012-12-04T00:52:37.970 回答