2014-08-28 19 views
6

sto cercando di rilevare se la richiesta è XHR o non ApplicationController utilizzandoRails request.xhr? Restituisce 0

request.xhr? 

Esso restituisce sempre 0.

Ma intestazioni dica il contrario;

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

Cosa mi manca?

versione

è Rails 4.0.0

+0

Come si invia la richiesta? – zishe

+0

@zishe è una richiesta DELETE remota. – beydogan

risposta

9

request.xhr? restituisce sempre Object o nil, non true o false, dal momento che si basa sul modello regexp di corrispondenza (vedi here).

In Ruby, un valore diverso da false e nil è un valore truthy (come è il 0 restituito da request.xhr?), quindi la risposta è corretta.