Rails 4在子目录中运行

时间:2015-04-08 15:50:44

标签: ruby-on-rails ruby-on-rails-4 routes passenger

我使用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

1 个答案:

答案 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文件中更新了全局命名空间,并为我修复了它。它不是最干净但它有效。我只是确保不将这些更改提交给回购。