【问题标题】:Link to Rails root URL when root is on a subdomain当 root 在子域上时链接到 Rails 根 URL
【发布时间】:2013-05-19 08:51:07
【问题描述】:

所以我有一个带有静态控制器和两条路由的 Rails 应用程序:

  1. match '/', :to => "static#dashboard", :constraints => { :subdomain => "dashboard.alpha" }
  2. root :to => "static#home"

根在alpha.mydomain.com,第二页在dashboard.alpha.mydomain.com

如何使用 Rails 动态链接回根目录? root_url 变量只是 / 并使用 root_url(:subdomain => false) 将我发送到 mydomain.com。

【问题讨论】:

    标签: ruby-on-rails routing subdomain


    【解决方案1】:

    如果您只想访问 alpha.mydomain.com 而从不访问 mydomain.com,您可以通过执行以下操作使 root_url 始终指向 alpha 子域:

    root :to => 'static#home', :subdomain => 'alpha'
    

    在视图中你可以使用:

    <%= link_to 'home', root_url %>
    

    这和你的想法一样吗?

    【讨论】:

    • 完美!这正是我想要的!
    • 再次测试后,我发现它没有按我希望的方式工作,它在您所在的子域之前添加了子域,例如如果您在 alpha.domain.com,则使用 root_url 生成的链接将指向 alpha.alpha.domain.com。我会再研究一下..
    • 似乎不适合我。即使我已经处于 alpha 状态。然后我转到根 URL,您的回答将我带到同一页面,它运行良好。
    • 太棒了,可能与我的 /etc/hosts 配置有关。我很高兴它成功了!
    • 用 lvh.me(链接到 127.0.0.1 的 url)尝试了它,然后 rails 明白 blog.lvh.me 是一个子域,并在使用 root_url 时跳过了附加另一个子域。所以它一定是我的本地 dns 设置的问题,我必须阅读一下......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 2016-02-15
    • 2012-09-09
    • 2021-02-12
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    相关资源
    最近更新 更多