Permalink
Browse files

data-remote needs to be on the form and not the submit when using but…

…ton_to :remote=>true
  • Loading branch information...
1 parent a9e89e8 commit e1618b9ac397d1963e788f441fc4965cd3f9d4cf @erikstmartin erikstmartin committed with josh Jan 31, 2010
Showing with 10 additions and 1 deletion.
  1. +3 −1 actionpack/lib/action_view/helpers/url_helper.rb
  2. +7 −0 actionpack/test/template/url_helper_test.rb
@@ -286,6 +286,8 @@ def button_to(name, options = {}, html_options = {})
form_method = method.to_s == 'get' ? 'get' : 'post'
+ remote = html_options.delete('remote')
+
request_token_tag = ''
if form_method == 'post' && protect_against_forgery?
request_token_tag = tag(:input, :type => "hidden", :name => request_forgery_protection_token.to_s, :value => form_authenticity_token)
@@ -298,7 +300,7 @@ def button_to(name, options = {}, html_options = {})
html_options.merge!("type" => "submit", "value" => name)
- ("<form method=\"#{form_method}\" action=\"#{escape_once url}\" class=\"button-to\"><div>" +
+ ("<form method=\"#{form_method}\" action=\"#{escape_once url}\" #{"data-remote=\"true\"" if remote} class=\"button-to\"><div>" +
method_tag + tag("input", html_options) + request_token_tag + "</div></form>").html_safe!
end
@@ -81,6 +81,13 @@ def test_button_to_with_javascript_confirm
)
end
+ def test_button_to_with_remote_and_javascript_confirm
+ assert_dom_equal(
+ "<form method=\"post\" action=\"http://www.example.com\" class=\"button-to\" data-remote=\"true\"><div><input data-confirm=\"Are you sure?\" type=\"submit\" value=\"Hello\" /></div></form>",
+ button_to("Hello", "http://www.example.com", :remote => true, :confirm => "Are you sure?")
+ )
+ 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>",

0 comments on commit e1618b9

Please sign in to comment.