From 9331f00229205c3a018af92cb50907d4fc87ecdc Mon Sep 17 00:00:00 2001 From: Akshay Vishnoi Date: Fri, 18 Sep 2015 12:44:09 +0530 Subject: [PATCH] Fix - Prevent adding of `data-disable-with` option twice in html. Earlier when `data-disable-with` option is added direclty as in options then ```ruby submit_tag("Save", { "data-disable-with" => "Processing..." }) # => ``` Now when `data-disable-with` option is added direclty as in options then ```ruby submit_tag("Save", { "data-disable-with" => "Processing..." }) # => ``` --- actionview/lib/action_view/helpers/form_tag_helper.rb | 2 +- actionview/test/template/form_tag_helper_test.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/actionview/lib/action_view/helpers/form_tag_helper.rb b/actionview/lib/action_view/helpers/form_tag_helper.rb index af684e05c64a4..0e8127e29e696 100644 --- a/actionview/lib/action_view/helpers/form_tag_helper.rb +++ b/actionview/lib/action_view/helpers/form_tag_helper.rb @@ -450,9 +450,9 @@ def submit_tag(value = "Save changes", options = {}) disable_with_text ||= value.clone tag_options.deep_merge!("data" => { "disable_with" => disable_with_text }) else - tag_options.delete("data-disable-with") tag_options["data"].delete(:disable_with) if tag_options["data"] end + tag_options.delete("data-disable-with") end tag :input, tag_options diff --git a/actionview/test/template/form_tag_helper_test.rb b/actionview/test/template/form_tag_helper_test.rb index a9d9562580a9c..7e1324c011741 100644 --- a/actionview/test/template/form_tag_helper_test.rb +++ b/actionview/test/template/form_tag_helper_test.rb @@ -485,6 +485,14 @@ def test_submit_tag_with_confirmation ) end + def test_submit_tag_doesnt_have_data_disable_with_twice + assert_equal( + %(), + submit_tag("Save", { "data-disable-with" => "Processing...", "data-confirm" => "Are you sure?" }) + ) + end + + def test_button_tag assert_dom_equal( %(),