From 651914bda912c1263b1b836623ca2e6cf58683d6 Mon Sep 17 00:00:00 2001 From: Ben Mills Date: Fri, 17 Dec 2010 19:01:14 -0700 Subject: [PATCH 1/2] Titleize model_name for default submit button value --- actionpack/lib/action_view/helpers/form_helper.rb | 4 +++- actionpack/test/lib/controller/fake_models.rb | 20 ++++++++++++++++++++ actionpack/test/template/form_helper_test.rb | 19 ++++++++++++++++++- 3 files changed, 41 insertions(+), 2 deletions(-) diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb index befaa3e..118aa8d 100644 --- a/actionpack/lib/action_view/helpers/form_helper.rb +++ b/actionpack/lib/action_view/helpers/form_helper.rb @@ -1286,7 +1286,9 @@ module ActionView else @object_name.to_s.humanize end - + + model = model.titleize + defaults = [] defaults << :"helpers.submit.#{object_name}.#{key}" defaults << :"helpers.submit.#{key}" diff --git a/actionpack/test/lib/controller/fake_models.rb b/actionpack/test/lib/controller/fake_models.rb index 67baf36..1df7cc5 100644 --- a/actionpack/test/lib/controller/fake_models.rb +++ b/actionpack/test/lib/controller/fake_models.rb @@ -48,6 +48,26 @@ module Quiz end end +class TicketType < Struct.new(:name) + extend ActiveModel::Naming + include ActiveModel::Conversion + extend ActiveModel::Translation + + def initialize(*args) + super + end + + def persisted=(boolean) + @persisted = boolean + end + + def persisted? + @persisted + end + + attr_accessor :name +end + class Post < Struct.new(:title, :author_name, :body, :secret, :written_on, :cost) extend ActiveModel::Naming include ActiveModel::Conversion diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb index b3220d6..d543f6c 100644 --- a/actionpack/test/template/form_helper_test.rb +++ b/actionpack/test/template/form_helper_test.rb @@ -65,6 +65,7 @@ class FormHelperTest < ActionView::TestCase @post.written_on = Date.new(2004, 6, 15) @blog_post = Blog::Post.new("And his name will be forty and four.", 44) + @ticket_type = TicketType.new end Routes = ActionDispatch::Routing::RouteSet.new @@ -72,7 +73,9 @@ class FormHelperTest < ActionView::TestCase resources :posts do resources :comments end - + + resources :ticket_types + namespace :admin do resources :posts do resources :comments @@ -694,6 +697,20 @@ class FormHelperTest < ActionView::TestCase "" end + def test_titleize_model_name_default_submit_button_value + form_for(@ticket_type) do |f| + concat f.submit + end + + expected = + '
' + + snowman + + '' + + "
" + + assert_dom_equal expected, output_buffer + end + def test_form_for_with_symbol_object_name form_for(@post, :as => "other_name", :html => { :id => 'create-post' }) do |f| concat f.label(:title, :class => 'post_title') -- 1.7.1.1 From 141cb25c305a0c418d363c429c0e42e86fa61abb Mon Sep 17 00:00:00 2001 From: Dan Pickett Date: Tue, 8 Feb 2011 20:30:58 -0500 Subject: [PATCH 2/2] drop id on submit button for titleized submits (a quick mod to Ben Mills' patch) [#6188] --- actionpack/test/template/form_helper_test.rb | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb index d543f6c..3a27ca4 100644 --- a/actionpack/test/template/form_helper_test.rb +++ b/actionpack/test/template/form_helper_test.rb @@ -705,7 +705,7 @@ class FormHelperTest < ActionView::TestCase expected = '
' + snowman + - '' + + '' + "
" assert_dom_equal expected, output_buffer -- 1.7.1.1