diff --git a/actionpack/lib/action_view/helpers/ajax_helper.rb b/actionpack/lib/action_view/helpers/ajax_helper.rb index 54915e3c89308f1222849e0765bff81337006972..6f7f3750bcc89d5800e7d9fc37ea77964727af86 100644 --- a/actionpack/lib/action_view/helpers/ajax_helper.rb +++ b/actionpack/lib/action_view/helpers/ajax_helper.rb @@ -574,6 +574,8 @@ def link_to_remote(name, url, options = nil) if !options && url.is_a?(Hash) && url.key?(:url) url, options = url.delete(:url), url end + options = {} if options.nil? + set_callbacks(options, options[:html] ||= {}) super diff --git a/actionpack/test/template/ajax_helper_test.rb b/actionpack/test/template/ajax_helper_test.rb index 80d1f42327fcfe1136cbcf05ea37810afff47a73..4ca130d010460420b7b1d86d2007df5b59b6f2e9 100644 --- a/actionpack/test/template/ajax_helper_test.rb +++ b/actionpack/test/template/ajax_helper_test.rb @@ -1,7 +1,6 @@ require "abstract_unit" class AjaxTestCase < ActiveSupport::TestCase - include ActionView::Helpers::AjaxHelper include ActionView::Helpers::TagHelper def url_for(url) @@ -34,6 +33,8 @@ def self.assert_callbacks_work(&blk) end class LinkToRemoteTest < AjaxTestCase + include ActionView::Helpers::AjaxHelperCompat + def link(options = {}) link_to_remote("Delete this post", "/blog/destroy/3", options) end @@ -79,7 +80,7 @@ def link(options = {}) end class LegacyLinkToRemoteTest < AjaxTestCase - include ActionView::Helpers::AjaxHelper::Rails2Compatibility + include ActionView::Helpers::AjaxHelperCompat def link(options) link_to_remote("Delete this post", "/blog/destroy/3", options) @@ -98,6 +99,8 @@ def link(options) end class ButtonToRemoteTest < AjaxTestCase + include ActionView::Helpers::AjaxHelperCompat + def button(options, html = {}) button_to_remote("Remote outpost", options, html) end @@ -110,7 +113,7 @@ class StandardTest < ButtonToRemoteTest end class LegacyButtonToRemoteTest < ButtonToRemoteTest - include ActionView::Helpers::AjaxHelper::Rails2Compatibility + include ActionView::Helpers::AjaxHelperCompat assert_callbacks_work do |callback| button(callback => "undoRequestCompleted(request)") @@ -119,6 +122,8 @@ class LegacyButtonToRemoteTest < ButtonToRemoteTest end class ObserveFieldTest < AjaxTestCase + include ActionView::Helpers::AjaxHelperCompat + def url_for(hash) "/blog/update" end