我使用Passenger使用apache运行我的应用程序,如果我使用路由,一切正常。
但是,我为'get /url' => 'controller#action'
添加的任何手动路线似乎都不起作用。
如果我使用scope "#{Rails.application.config.action_controller.relative_url_root}" do
,那么link_for
不会抛出错误,但尝试访问实际的网址会导致找不到路由。
1.。)如何设置rails s
在localhost的子目录中运行,以便我可以像部署的服务器一样测试路由
2.。如何配置路由以使用relative_url_root
?
答案 0 :(得分:0)
显然,配置选项仍然是Rails中的一个突出错误:https://github.com/rails/rails/issues/5122
Passenger确实有一些部署到子目录的说明:https://www.phusionpassenger.com/library/deploy/apache/deploy/ruby/#deploying-an-app-to-a-sub-uri
但是如果您没有在本地运行Passenger,我建议使用本机命名空间:http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing。我在应用程序的routes.rb文件中更新了全局命名空间,并为我修复了它。它不是最干净但它有效。我只是确保不将这些更改提交给回购。