【发布时间】: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