aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test/template/form_helper
diff options
context:
space:
mode:
authorKasper Timm Hansen <kaspth@gmail.com>2016-12-18 20:17:52 +0100
committerKasper Timm Hansen <kaspth@gmail.com>2016-12-18 20:18:48 +0100
commitb2672c739b9fe3a5b37249d899bdec9c3b9726cf (patch)
tree73fb490916bde8e4dcd74d04faecdb7959911436 /actionview/test/template/form_helper
parenta52413ac91bad22de1a25660848f862a0016ba74 (diff)
downloadrails-b2672c739b9fe3a5b37249d899bdec9c3b9726cf.tar.gz
rails-b2672c739b9fe3a5b37249d899bdec9c3b9726cf.tar.bz2
rails-b2672c739b9fe3a5b37249d899bdec9c3b9726cf.zip
fields: support attributes not on model.
Ensure the support works like form_with.
Diffstat (limited to 'actionview/test/template/form_helper')
-rw-r--r--actionview/test/template/form_helper/form_with_test.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/actionview/test/template/form_helper/form_with_test.rb b/actionview/test/template/form_helper/form_with_test.rb
index 96b797992f..dd0883e071 100644
--- a/actionview/test/template/form_helper/form_with_test.rb
+++ b/actionview/test/template/form_helper/form_with_test.rb
@@ -935,6 +935,41 @@ class FormWithActsLikeFormForTest < FormWithTest
end
end
+ def test_fields_with_attributes_not_on_model
+ form_with(model: @post) do |f|
+ concat f.fields(:comment) { |c|
+ concat c.text_field :dont_exist_on_model
+ }
+ end
+
+ expected = whole_form("/posts/123", method: :patch) do
+ '<input type="text" name="post[comment][dont_exist_on_model]">'
+ end
+
+ assert_dom_equal expected, output_buffer
+ end
+
+ def test_fields_with_attributes_not_on_model_deep_nested
+ @comment.save
+ form_with(scope: :posts) do |f|
+ f.fields("post[]", model: @post) do |f2|
+ f2.text_field(:id)
+ @post.comments.each do |comment|
+ concat f2.fields("comment[]", model: comment) { |c|
+ concat c.text_field(:dont_exist_on_model)
+ }
+ end
+ end
+ end
+
+ expected = whole_form do
+ '<input name="posts[post][0][comment][1][dont_exist_on_model]" type="text">'
+ end
+
+ assert_dom_equal expected, output_buffer
+ end
+
+
def test_nested_fields
@comment.body = "Hello World"
form_with(model: @post) do |f|