aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Sanguinetti <contacto@nicolassanguinetti.info>2010-04-14 21:44:28 -0300
committerwycats <wycats@gmail.com>2010-04-22 15:29:59 -0700
commitd5d717161d853d8d7240da59b41a879bdac6e982 (patch)
tree109b43705e564e7fa20db763955f606dafddc4cf
parenta8330c2006e90a6da8f621fdaf1156fa63b4049a (diff)
downloadrails-d5d717161d853d8d7240da59b41a879bdac6e982.tar.gz
rails-d5d717161d853d8d7240da59b41a879bdac6e982.tar.bz2
rails-d5d717161d853d8d7240da59b41a879bdac6e982.zip
Allow :remote => false to be passed to link_to
And add tests for `button_to` and `form_tag` which currently behave as expected, so we avoid a regression. Signed-off-by: wycats <wycats@gmail.com>
-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 13a54b0c21..68efe8fc5f 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 ef612b879b..b4f3f82b29 100644
--- a/actionpack/test/template/form_tag_helper_test.rb
+++ b/actionpack/test/template/form_tag_helper_test.rb
@@ -62,6 +62,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>",