Rails request.xhr?返回0

时间:2014-08-28 17:01:44

标签: ruby-on-rails-4

我尝试使用

检测ApplicationController中的请求是否为xhr
request.xhr?

它总是返回0.

但标题却说不然;

request.headers["X-Requested-With"]  ==> "XMLHttpRequest"
@_env['HTTP_X_REQUESTED_WITH'] ==> "XMLHttpRequest"

我错过了什么?

版本是Rails 4.0.0

1 个答案:

答案 0 :(得分:10)

request.xhr?始终返回Objectnil,而不是truefalse,因为它基于正则表达式模式匹配(请参阅here

在Ruby中,falsenil以外的任何值都是真值(与0返回的request.xhr?一样),因此响应正确。< / p>