我知道我要部署到一个环境,我的应用程序运行一个基本的URL,如下所示:
http://someserver/mydepartment/myapp
我的开发环境设置为使用默认的Rails配置,如下所示:
http://localhost:3000/myapp
我想在我的开发环境中建模这个部署路径.也就是说,我想开发一个基本的URL,如下所示:
http://localhost:3000/mydepartment/myapp
这样,我可以使我的所有URL相对于“/”,它们将在两个环境中工作.
如何更改它,以便我的应用程序将在我的开发环境中生活在这条路上?
我找到的解决方案,但不适合我:
>在routes.rb中设置范围似乎不适用于公共静态内容.
>使用Apache的重写功能.我不想在我的开发框中安装Apache.理想情况下,解决方案可以与WEbrick一起工作,尽管我似乎Mongrel主要工作(Mongrel和Ruby 1.9.2有一些问题).
>设置relative_url_root和类似的建议,不适用于Rails 3.
>动态生成CSS / JavaScript并调整路径以在开发和生产环境之间进行补偿.
解决方法
您可以尝试将rails应用程序机架配置映射到另一个base_uri.
所有您需要做的是将现有的“运行”命令包装在地图块中
所有您需要做的是将现有的“运行”命令包装在地图块中
尝试在您的rails的config.ru’文件中执行此操作:
map '/mydepartment' do run Myapp::Application end
现在当你’rails服务器’的应用程序应该在localhost:3000 / mydepartment.不知道这是否会给你想要的结果,但值得一试.