ruby-on-rails – Rails:重定向到当前路径但不同的子域

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails:重定向到当前路径但不同的子域前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我认为这应该是相当容易的,但我不熟悉如何完成…

如何编写一个过滤器,检查当前请求是否针对某些子域,如果是这样,重定向到相同的URL,但在不同的子域?

即:blog.myapp.com/posts/1很好,但blog.myapp.com/products/123重定向到www.myapp.com/products/123.

我在想…

class ApplicationController < ActionController::Base
  before_filter :ensure_domain

  protected
  def ensure_domain
    if request.subdomain == 'blog' && controller_name != 'posts'
      redirect_to # the same url but at the 'www' subdomain...
    end
  end
end

你怎么写这个重定向

解决方法

ActionController::Redirecting#redirect_to允许你传递一个绝对的URL,所以最简单的做法是把它传递给一个如下所示:
redirect_to request.url.sub('blog','www')

猜你在找的Ruby相关文章