diff options
Diffstat (limited to 'actionpack/lib')
-rwxr-xr-x | actionpack/lib/action_controller/request.rb | 2 | ||||
-rw-r--r-- | actionpack/lib/action_controller/verification.rb | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/request.rb b/actionpack/lib/action_controller/request.rb index 73247d510a..5b4d337f47 100755 --- a/actionpack/lib/action_controller/request.rb +++ b/actionpack/lib/action_controller/request.rb @@ -65,7 +65,7 @@ module ActionController # "XMLHttpRequest". (The Prototype Javascript library sends this header with # every Ajax request.) def xml_http_request? - env['HTTP_X_REQUESTED_WITH'] =~ /XMLHttpRequest/i + !((env['HTTP_X_REQUESTED_WITH'] || "") =~ /XMLHttpRequest/i).nil? end alias xhr? :xml_http_request? diff --git a/actionpack/lib/action_controller/verification.rb b/actionpack/lib/action_controller/verification.rb index ec3c5fe26c..78918f800c 100644 --- a/actionpack/lib/action_controller/verification.rb +++ b/actionpack/lib/action_controller/verification.rb @@ -76,7 +76,9 @@ module ActionController #:nodoc: prereqs_invalid ||= [*options[:method]].all? { |v| @request.method != v.to_sym } end - + + prereqs_invalid ||= (request.xhr? != options[:xhr]) unless options[:xhr].nil? + if prereqs_invalid flash.update(options[:add_flash]) if options[:add_flash] unless performed? |