aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/lib/action_view/helpers/url_helper.rb4
-rw-r--r--actionpack/test/template/form_tag_helper_test.rb6
-rw-r--r--actionpack/test/template/url_helper_test.rb14
3 files changed, 21 insertions, 3 deletions
diff --git a/actionpack/lib/action_view/helpers/url_helper.rb b/actionpack/lib/action_view/helpers/url_helper.rb
index 4ffc5ea127..210f148c02 100644
--- a/actionpack/lib/action_view/helpers/url_helper.rb
+++ b/actionpack/lib/action_view/helpers/url_helper.rb
@@ -596,10 +596,8 @@ module ActionView
html_options = {} if html_options.nil?
html_options = html_options.stringify_keys
- if (options.is_a?(Hash) && options.key?('remote')) || (html_options.is_a?(Hash) && html_options.key?('remote'))
+ if (options.is_a?(Hash) && options.key?('remote') && options.delete('remote')) || (html_options.is_a?(Hash) && html_options.key?('remote') && html_options.delete('remote'))
html_options['data-remote'] = 'true'
- options.delete('remote') if options.is_a?(Hash)
- html_options.delete('remote') if html_options.is_a?(Hash)
end
confirm = html_options.delete("confirm")
diff --git a/actionpack/test/template/form_tag_helper_test.rb b/actionpack/test/template/form_tag_helper_test.rb
index 8756bd310f..abb0e1df93 100644
--- a/actionpack/test/template/form_tag_helper_test.rb
+++ b/actionpack/test/template/form_tag_helper_test.rb
@@ -59,6 +59,12 @@ class FormTagHelperTest < ActionView::TestCase
assert_dom_equal expected, actual
end
+ def test_form_tag_with_remote_false
+ actual = form_tag({}, :remote => false)
+ expected = %(<form action="http://www.example.com" method="post">)
+ assert_dom_equal expected, actual
+ end
+
def test_form_tag_with_block_in_erb
output_buffer = form_tag("http://example.com") { concat "Hello world!" }
diff --git a/actionpack/test/template/url_helper_test.rb b/actionpack/test/template/url_helper_test.rb
index 5120870f50..299d6dd5bd 100644
--- a/actionpack/test/template/url_helper_test.rb
+++ b/actionpack/test/template/url_helper_test.rb
@@ -103,6 +103,13 @@ class UrlHelperTest < ActiveSupport::TestCase
)
end
+ def test_button_to_with_remote_false
+ assert_dom_equal(
+ "<form method=\"post\" action=\"http://www.example.com\" class=\"button_to\"><div><input type=\"submit\" value=\"Hello\" /></div></form>",
+ button_to("Hello", "http://www.example.com", :remote => false)
+ )
+ end
+
def test_button_to_enabled_disabled
assert_dom_equal(
"<form method=\"post\" action=\"http://www.example.com\" class=\"button_to\"><div><input type=\"submit\" value=\"Hello\" /></div></form>",
@@ -205,6 +212,13 @@ class UrlHelperTest < ActiveSupport::TestCase
)
end
+ def test_link_to_with_remote_false
+ assert_dom_equal(
+ "<a href=\"http://www.example.com\">Hello</a>",
+ link_to("Hello", "http://www.example.com", :remote => false)
+ )
+ end
+
def test_link_tag_using_post_javascript
assert_dom_equal(
"<a href='http://www.example.com' data-method=\"post\" rel=\"nofollow\">Hello</a>",