Ruby on rails 使用虚拟文件夹名称作为所有URL的前缀
我正在尝试将我的RoR 3.0应用程序部署到Passenger不支持的服务器上。在我决定为我的应用服务器使用Apache虚拟文件夹之前,一切都很顺利。在生产环境中,我现在必须在所有URL前面手动添加文件夹名称,例如在所有URL_中使用:host=>“myServer/myApp”进行调用。它是有效的,但它是痛苦的。有人知道一种很好的自动化方法吗? 在阅读了许多帖子后,我尝试了一些至今未成功的方法:Ruby on rails 使用虚拟文件夹名称作为所有URL的前缀,ruby-on-rails,ruby,url,virtual,directory,Ruby On Rails,Ruby,Url,Virtual,Directory,我正在尝试将我的RoR 3.0应用程序部署到Passenger不支持的服务器上。在我决定为我的应用服务器使用Apache虚拟文件夹之前,一切都很顺利。在生产环境中,我现在必须在所有URL前面手动添加文件夹名称,例如在所有URL_中使用:host=>“myServer/myApp”进行调用。它是有效的,但它是痛苦的。有人知道一种很好的自动化方法吗? 在阅读了许多帖子后,我尝试了一些至今未成功的方法: 在application.rb中为{:host=>“myServer/myApp”}定义默认的_
- 在application.rb中为{:host=>“myServer/myApp”}定义默认的_url_,但没有效果
- 我找到了一些指示来定义url_,并从内部调用super。也没有效果
Hadrien快速而肮脏的解决方案是将所有内容包装在config/routes.rb文件中的
范围
块中:
scope 'myApp' do # replace 'myApp' with the virtual folder name
resources :users
# ...
end
你上面提到的两个解决方案听起来像是最好的选择——如果你能让它们发挥作用的话。如果您使用该方法,则需要在ActionView::Helpers::UrlHelper下为url\u进行修补。您也可以尝试名称空间: