form_for with +:as+ option uses "action_as" as css class and id

This commit is contained in:
Vasiliy Ermolovich
2011-12-04 22:12:24 +03:00
parent e9b6659c4c
commit e29773f885
3 changed files with 25 additions and 13 deletions

View File

@@ -1,5 +1,17 @@
## Rails 3.2.0 (unreleased) ##
* form_for with +:as+ option uses "#{action}_#{as}" as css class and id:
Before:
form_for(@user, :as => 'client') # => "<form class="client_new">..."
Now:
form_for(@user, :as => 'client') # => "<form class="new_client">..."
*Vasiliy Ermolovich*
* Allow rescue responses to be configured through a railtie as in `config.action_dispatch.rescue_responses`. Please look at ActiveRecord::Railtie for an example *José Valim*
* Allow fresh_when/stale? to take a record instead of an options hash *DHH*

View File

@@ -387,8 +387,8 @@ module ActionView
as = options[:as]
action, method = object.respond_to?(:persisted?) && object.persisted? ? [:edit, :put] : [:new, :post]
options[:html].reverse_merge!(
:class => as ? "#{as}_#{action}" : dom_class(object, action),
:id => as ? "#{as}_#{action}" : [options[:namespace], dom_id(object, action)].compact.join("_").presence,
:class => as ? "#{action}_#{as}" : dom_class(object, action),
:id => as ? "#{action}_#{as}" : [options[:namespace], dom_id(object, action)].compact.join("_").presence,
:method => method
)

View File

@@ -769,7 +769,7 @@ class FormHelperTest < ActionView::TestCase
concat f.submit('Create post')
end
expected = whole_form("/posts/123", "create-post", "other_name_edit", :method => "put") do
expected = whole_form("/posts/123", "create-post", "edit_other_name", :method => "put") do
"<label for='other_name_title' class='post_title'>Title</label>" +
"<input name='other_name[title]' size='30' id='other_name_title' value='Hello World' type='text' />" +
"<textarea name='other_name[body]' id='other_name_body' rows='20' cols='40'>Back to the hill and over it again!</textarea>" +
@@ -906,7 +906,7 @@ class FormHelperTest < ActionView::TestCase
concat f.check_box(:secret)
end
expected = whole_form('/posts/123', 'post[]_edit', 'post[]_edit', 'put') do
expected = whole_form('/posts/123', 'edit_post[]', 'edit_post[]', 'put') do
"<label for='post_123_title'>Title</label>" +
"<input name='post[123][title]' size='30' type='text' id='post_123_title' value='Hello World' />" +
"<textarea name='post[123][body]' id='post_123_body' rows='20' cols='40'>Back to the hill and over it again!</textarea>" +
@@ -924,7 +924,7 @@ class FormHelperTest < ActionView::TestCase
concat f.check_box(:secret)
end
expected = whole_form('/posts/123', 'post[]_edit', 'post[]_edit', 'put') do
expected = whole_form('/posts/123', 'edit_post[]', 'edit_post[]', 'put') do
"<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' />" +
@@ -1066,7 +1066,7 @@ class FormHelperTest < ActionView::TestCase
concat f.submit
end
expected = whole_form('/posts/123', 'another_post_edit', 'another_post_edit', :method => 'put') do
expected = whole_form('/posts/123', 'edit_another_post', 'edit_another_post', :method => 'put') do
"<input name='commit' type='submit' value='Update your Post' />"
end
@@ -1098,7 +1098,7 @@ class FormHelperTest < ActionView::TestCase
}
end
expected = whole_form('/posts/123', 'post[]_edit', 'post[]_edit', 'put') do
expected = whole_form('/posts/123', 'edit_post[]', 'edit_post[]', 'put') do
"<input name='post[123][title]' size='30' type='text' id='post_123_title' value='Hello World' />" +
"<input name='post[123][comment][][name]' size='30' type='text' id='post_123_comment__name' value='new comment' />"
end
@@ -1157,7 +1157,7 @@ class FormHelperTest < ActionView::TestCase
}
end
expected = whole_form('/posts/123', 'post[]_edit', 'post[]_edit', 'put') do
expected = whole_form('/posts/123', 'edit_post[]', 'edit_post[]', 'put') do
"<input name='post[123][comment][title]' size='30' type='text' id='post_123_comment_title' value='Hello World' />"
end
@@ -1185,7 +1185,7 @@ class FormHelperTest < ActionView::TestCase
}
end
expected = whole_form('/posts/123', 'post[]_edit', 'post[]_edit', 'put') do
expected = whole_form('/posts/123', 'edit_post[]', 'edit_post[]', 'put') do
"<input name='post[123][comment][123][title]' size='30' type='text' id='post_123_comment_123_title' value='Hello World' />"
end
@@ -1205,9 +1205,9 @@ class FormHelperTest < ActionView::TestCase
}
end
expected = whole_form('/posts/123', 'post[]_edit', 'post[]_edit', 'put') do
expected = whole_form('/posts/123', 'edit_post[]', 'edit_post[]', 'put') do
"<input name='post[123][comment][5][title]' size='30' type='text' id='post_123_comment_5_title' value='Hello World' />"
end + whole_form('/posts/123', 'post_edit', 'post_edit', 'put') do
end + whole_form('/posts/123', 'edit_post', 'edit_post', 'put') do
"<input name='post[1][comment][123][title]' size='30' type='text' id='post_1_comment_123_title' value='Hello World' />"
end
@@ -1860,7 +1860,7 @@ class FormHelperTest < ActionView::TestCase
}
end
expected = whole_form('/posts/123', 'create-post', 'post_edit', :method => 'put') do
expected = whole_form('/posts/123', 'create-post', 'edit_post', :method => 'put') do
"<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='parent_post[secret]' type='hidden' value='0' />" +
@@ -1880,7 +1880,7 @@ class FormHelperTest < ActionView::TestCase
}
end
expected = whole_form('/posts/123', 'create-post', 'post_edit', :method => 'put') do
expected = whole_form('/posts/123', 'create-post', 'edit_post', :method => 'put') do
"<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[comment][name]' type='text' id='post_comment_name' value='new comment' size='30' />"