Ruby on rails 3 从ajax路由重定向用户

Ruby on rails 3 从ajax路由重定向用户,ruby-on-rails-3,Ruby On Rails 3,例如,我通过resources:companysroutes: /company/123/ /company/edit/123 /company/new 所有这些路由都用于Ajax功能 现在,如果用户直接在浏览器中打开它,他/她将看到所有原始JSON数据 如何将这些请求(如SE)重定向到站点根目录(http://site.com/)? 我认为,我们可以使用x-request-withHTTP头来检测ajax/direct请求,但我不知道如何在Rails中处理它 before_filter

例如,我通过
resources:companys
routes:

/company/123/
/company/edit/123
/company/new
所有这些路由都用于Ajax功能

现在,如果用户直接在浏览器中打开它,他/她将看到所有原始JSON数据

如何将这些请求(如SE)重定向到站点根目录(http://site.com/)?

我认为,我们可以使用
x-request-with
HTTP头来检测ajax/direct请求,但我不知道如何在Rails中处理它

  before_filter :check_ajax

  def check_ajax
    if (request.env['HTTP_X_REQUESTED_WITH'] !~ /XMLHttpRequest/i)
      redirect_to '/nahuy/' # your url
    end
  end
重定向所有非Ajax请求(代码>'/nahuy/':)