【问题标题】:How to set url route to a different subdomain如何将 url 路由设置到不同的子域
【发布时间】:2012-09-07 18:22:13
【问题描述】:

我可以使用什么样的路由路径从非子域页面链接到子域页面?

我已通过关注Railscast#123 将子域添加到我的网站。

我对我的网站所做的主要更改是将每个博主与一个唯一的子域进行匹配。

routes.rb

match '', to: 'blogs#show', constraints: {subdomain: /.+/}

blogs_controller.rb

def show
@blog = Blog.find_by_subdomain!(request.subdomain)
end

blogs/index.html.erb

<%= link_to blog.name, root_url(subdomain: blog.subdomain) %>

因此,博客应用程序http://www.blog.com 为每种类型的博主设置了子域,例如海盗http://www.pirate.blog.com 和忍者http://www.ninja.blog.com

我目前有一个_article.html.erb 部分,我在我的主页(没有子域)和我的博客页面(有子域)中呈现。我可以使用什么路由将主页(没有子域)链接到嵌套在博主子域中的特定文章,例如 http://www.ninja.blog.com/articles/ninja-stars

目前,通过部分中的 article 路径链接到 ninja stars 文章会将我转到:

http://www.ninja.blog.com/articles/ninja-stars

来自 ninja 子域页面(这是我想要的),但是到

http://www.blog.com/articles/ninja-stars

来自没有子域的主页(不是我想要的)。

有没有办法通过article(subdomain: article.blog.subdomain) 之类的方式强制指向特定子域的路径?我希望每个文章链接都转到子域页面。

【问题讨论】:

    标签: ruby-on-rails routing subdomain


    【解决方案1】:

    为了让文章的所有链接都有作者博客的子域,我使用了

    article_url(article, subdomain: article.blog.subdomain)

    作为我的道路。

    【讨论】:

      猜你喜欢
      • 2014-12-19
      • 1970-01-01
      • 2017-07-18
      • 1970-01-01
      • 2017-06-27
      • 2020-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多