【问题标题】:Prefix all urls with virtual folder name使用虚拟文件夹名称为所有 url 添加前缀
【发布时间】:2011-05-20 16:01:43
【问题描述】:

我正在尝试将我的 RoR 3.0 应用程序部署在Passenger 不支持的服务器上。一切正常,直到我决定为我的应用程序服务器使用 Apache 虚拟文件夹。在生产环境中,我现在必须在所有 URL 前面手动添加文件夹名称,例如在所有 url_for 调用中使用 :host => "myServer/myApp"。它有效,但很痛苦。有人知道自动化它的好方法吗?

在阅读了许多帖子后,我到目前为止尝试过的失败:

  • 在 application.rb 中定义 default_url_for { :host => "myServer/myApp" },但没有效果

  • 我发现了一些定义 url_for 并从其中调用 super 的指示。也没有效果

感谢您的帮助

哈德里安

【问题讨论】:

  • 您上面提到的两种解决方案听起来像是最好的选择——如果您能让它们发挥作用的话。如果你走那条路,你需要在 ActionView::Helpers::UrlHelper 下修补 url_for 。您也可以尝试命名空间:guides.rubyonrails.org/…

标签: ruby-on-rails ruby url virtual directory


【解决方案1】:

快速而肮脏的解决方案是将所有内容包装在 config/routes.rb 文件中的 scope 块中:

scope 'myApp' do  # replace 'myApp' with the virtual folder name

  resources :users
  # ...

end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 2020-11-10
    • 2016-01-17
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 2023-03-05
    相关资源
    最近更新 更多