Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用虚拟文件夹名称作为所有URL的前缀_Ruby On Rails_Ruby_Url_Virtual_Directory - Fatal编程技术网

Ruby on rails 使用虚拟文件夹名称作为所有URL的前缀

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”}定义默认的_

我正在尝试将我的RoR 3.0应用程序部署到Passenger不支持的服务器上。在我决定为我的应用服务器使用Apache虚拟文件夹之前,一切都很顺利。在生产环境中,我现在必须在所有URL前面手动添加文件夹名称,例如在所有URL_中使用: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进行修补。您也可以尝试名称空间: