Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Accept :remote as symbol in link_to options

Accept either :remote or 'remote' in both the html_options and
(url_)options hash arguments to link_to.
  • Loading branch information...
commit 6caae0231c11ad89c1eeed3b0f8db8dfcb88c729 1 parent bcbf1bb
@teleological authored
View
2  actionpack/CHANGELOG.md
@@ -1,5 +1,7 @@
## Rails 4.0.0 (unreleased) ##
+* Accept :remote as symbolic option for `link_to` helper. *Riley Lynch*
+
* Warn when the `:locals` option is passed to `assert_template` outside of a view test case
Fix #3415
View
7 actionpack/lib/action_view/helpers/url_helper.rb
@@ -175,9 +175,10 @@ def _back_url # :nodoc:
def link_to(name = nil, options = nil, html_options = nil, &block)
html_options, options = options, name if block_given?
options ||= {}
- url = url_for(options)
html_options = convert_options_to_data_attributes(options, html_options)
+
+ url = url_for(options)
html_options['href'] ||= url
content_tag(:a, name || url, html_options, &block)
@@ -598,7 +599,9 @@ def convert_options_to_data_attributes(options, html_options)
end
def link_to_remote_options?(options)
- options.is_a?(Hash) && options.delete('remote')
+ if options.is_a?(Hash)
+ options.delete('remote') || options.delete(:remote)
+ end
end
def add_method_to_attributes!(html_options, method)
View
14 actionpack/test/template/url_helper_test.rb
@@ -298,6 +298,20 @@ def test_link_to_with_remote_false
)
end
+ def test_link_to_with_symbolic_remote_in_non_html_options
+ assert_dom_equal(
+ "<a href=\"/\" data-remote=\"true\">Hello</a>",
+ link_to("Hello", hash_for(:remote => true), {})
+ )
+ end
+
+ def test_link_to_with_string_remote_in_non_html_options
+ assert_dom_equal(
+ "<a href=\"/\" data-remote=\"true\">Hello</a>",
+ link_to("Hello", hash_for('remote' => true), {})
+ )
+ end
+
def test_link_tag_using_post_javascript
assert_dom_equal(
"<a href='http://www.example.com' data-method=\"post\" rel=\"nofollow\">Hello</a>",
Please sign in to comment.
Something went wrong with that request. Please try again.