例如,我是通过resources :companies
路由生成的:
/company/123/
/company/edit/123
/company/new
所有这些路由都用于Ajax功能。
现在,如果用户直接在浏览器中打开,他/她将会看到所有原始JSON数据。
如何将这些请求(例如theese)重定向到站点根目录(http://site.com/)?
我认为,我们可以使用x-requested-with
HTTP标头来检测ajax / direct请求,但我不知道如何在Rails中处理它。
答案 0 :(得分:0)
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/'
:)