Rails request.xhr?返回0

bey*_*gan 7 ruby-on-rails-4

我试图通过使用来检测ApplicationController中的请求是否为xhr

request.xhr?
Run Code Online (Sandbox Code Playgroud)

它总是返回0.

但标题却说不然;

request.headers["X-Requested-With"]  ==> "XMLHttpRequest"
@_env['HTTP_X_REQUESTED_WITH'] ==> "XMLHttpRequest"
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

版本是Rails 4.0.0

And*_*tti 11

request.xhr?总是返回Object或者nil,不true还是false因为它是基于正则表达式模式匹配(见这里).

在Ruby中,除了false和之外的任何值nil都是真值(如0返回的那样request.xhr?),因此响应是正确的.