diff options
author | Nicolas Sanguinetti <contacto@nicolassanguinetti.info> | 2010-04-14 21:44:28 -0300 |
---|---|---|
committer | wycats <wycats@gmail.com> | 2010-04-22 15:29:59 -0700 |
commit | d5d717161d853d8d7240da59b41a879bdac6e982 (patch) | |
tree | 109b43705e564e7fa20db763955f606dafddc4cf | |
parent | a8330c2006e90a6da8f621fdaf1156fa63b4049a (diff) | |
download | rails-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.rb | 4 | ||||
-rw-r--r-- | actionpack/test/template/form_tag_helper_test.rb | 6 | ||||
-rw-r--r-- | actionpack/test/template/url_helper_test.rb | 14 |
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>", |