0

我可以使用哪种路由路径从非子域页面链接到子域页面?

我按照Railscast#123向我的网站添加了子域。

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

路线.rb

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

blogs_controller.rb

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

博客/index.html.erb

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

因此,博客应用程序http://www.blog.com对每种类型的博客作者都有子域,例如 pirateshttp://www.pirate.blog.com和 ninjas http://www.ninja.blog.com

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

article目前,通过部分路径链接到忍者之星文章会将我路由到:

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

从忍者子域页面(这是我想要的),但是

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

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

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

4

1 回答 1

0

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

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

作为我的道路。

于 2012-09-12T13:58:08.263 回答