Permalink
Browse files

form_for without :html and with :remote should not error

[#4902 state:committed]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
  • Loading branch information...
1 parent 9d3eeb9 commit a186431414de8a0f0db9f60254f421a3536cee12 David Genord II committed with jeremy Jun 18, 2010
Showing with 21 additions and 1 deletion.
  1. +1 −1 actionpack/lib/action_view/helpers/form_helper.rb
  2. +20 −0 actionpack/test/template/form_helper_test.rb
@@ -302,7 +302,7 @@ def form_for(record_or_name_or_array, *args, &proc)
args.unshift object
end
- options[:html][:remote] = true if options.delete(:remote)
+ (options[:html] ||= {})[:remote] = true if options.delete(:remote)
output = form_tag(options.delete(:url) || {}, options.delete(:html) || {})
output << fields_for(object_name, *(args << options), &proc)
@@ -644,6 +644,26 @@ def test_form_for_with_remote
assert_dom_equal expected, output_buffer
end
+ def test_form_for_with_remote_without_html
+ assert_deprecated do
+ form_for(:post, @post, :remote => true) do |f|
+ concat f.text_field(:title)
+ concat f.text_area(:body)
+ concat f.check_box(:secret)
+ end
+ end
+
+ expected =
+ "<form action='http://www.example.com' method='post' data-remote='true'>" +
+ "<input name='post[title]' size='30' type='text' id='post_title' value='Hello World' />" +
+ "<textarea name='post[body]' id='post_body' rows='20' cols='40'>Back to the hill and over it again!</textarea>" +
+ "<input name='post[secret]' type='hidden' value='0' />" +
+ "<input name='post[secret]' checked='checked' type='checkbox' id='post_secret' value='1' />" +
+ "</form>"
+
+ assert_dom_equal expected, output_buffer
+ end
+
def test_form_for_without_object
form_for(:post, :html => { :id => 'create-post' }) do |f|
concat f.text_field(:title)

0 comments on commit a186431

Please sign in to comment.