diff --git a/lib/jquery/rails/version.rb b/lib/jquery/rails/version.rb index dd8d7578..dac0af8b 100644 --- a/lib/jquery/rails/version.rb +++ b/lib/jquery/rails/version.rb @@ -3,6 +3,6 @@ module Rails VERSION = "2.0.1" JQUERY_VERSION = "1.7.2" JQUERY_UI_VERSION = "1.8.18" - JQUERY_UJS_VERSION = "82292010fb1743f038ab72b1f1e994e91be3eda3" + JQUERY_UJS_VERSION = "caabad7f7ba6c35de1588ea263295ed5bc166a43" end end diff --git a/vendor/assets/javascripts/jquery_ujs.js b/vendor/assets/javascripts/jquery_ujs.js index 06b4e0b5..2cbbeeb4 100644 --- a/vendor/assets/javascripts/jquery_ujs.js +++ b/vendor/assets/javascripts/jquery_ujs.js @@ -99,14 +99,18 @@ return $.ajax(options); }, + // Default way to get an element's href. May be overridden at $.rails.href. + href: function(element) { + return element.attr('href'); + }, + // Submits "remote" forms and links with ajax handleRemote: function(element) { - var method, url, data, - crossDomain = element.data('cross-domain') || null, - dataType = element.data('type') || ($.ajaxSettings && $.ajaxSettings.dataType), - options; + var method, url, data, crossDomain, dataType, options; if (rails.fire(element, 'ajax:before')) { + crossDomain = element.data('cross-domain') || null; + dataType = element.data('type') || ($.ajaxSettings && $.ajaxSettings.dataType); if (element.is('form')) { method = element.attr('method'); @@ -125,7 +129,7 @@ if (element.data('params')) data = data + "&" + element.data('params'); } else { method = element.data('method'); - url = element.attr('href'); + url = rails.href(element); data = element.data('params') || null; } @@ -160,7 +164,7 @@ // Handles "data-method" on links such as: // Delete handleMethod: function(link) { - var href = link.attr('href'), + var href = rails.href(link), method = link.data('method'), target = link.attr('target'), csrf_token = $('meta[name=csrf-token]').attr('content'),