diff options
author | José Valim <jose.valim@gmail.com> | 2010-01-15 16:10:19 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-01-15 16:10:19 +0100 |
commit | a0cdfdc771cd4034f69c9a08a188cf6ba7b110c2 (patch) | |
tree | 876d5b87f38152ccbb752d7d39e89cd1fe977b8c /actionpack | |
parent | e5a2a9fced3e5559ac139977922a0f63a53c6c5c (diff) | |
download | rails-a0cdfdc771cd4034f69c9a08a188cf6ba7b110c2.tar.gz rails-a0cdfdc771cd4034f69c9a08a188cf6ba7b110c2.tar.bz2 rails-a0cdfdc771cd4034f69c9a08a188cf6ba7b110c2.zip |
Allow f.submit to be localized per object.
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_view/helpers/form_helper.rb | 16 | ||||
-rw-r--r-- | actionpack/test/template/form_helper_test.rb | 20 |
2 files changed, 33 insertions, 3 deletions
diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb index 20cee46d02..20e9916d62 100644 --- a/actionpack/lib/action_view/helpers/form_helper.rb +++ b/actionpack/lib/action_view/helpers/form_helper.rb @@ -1096,6 +1096,14 @@ module ActionView # create: "Create a {{model}}" # update: "Confirm changes to {{model}}" # + # It also searches for a key specific for the given object: + # + # en: + # helpers: + # submit: + # post: + # create: "Add {{model}}" + # def submit(value=nil, options={}) value, options = nil, value if value.is_a?(Hash) value ||= submit_default_value @@ -1121,8 +1129,12 @@ module ActionView @object_name.to_s.humanize end - I18n.t(:"helpers.submit.#{key}", :model => model, - :default => "#{key.to_s.humanize} #{model}") + defaults = [] + defaults << :"helpers.submit.#{object_name}.#{key}" + defaults << :"helpers.submit.#{key}" + defaults << "#{key.to_s.humanize} #{model}" + + I18n.t(defaults.shift, :model => model, :default => defaults) end def nested_attributes_association?(association_name) diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb index 454b6159ab..0c5c5d17ee 100644 --- a/actionpack/test/template/form_helper_test.rb +++ b/actionpack/test/template/form_helper_test.rb @@ -31,7 +31,10 @@ class FormHelperTest < ActionView::TestCase :submit => { :create => 'Create {{model}}', :update => 'Confirm {{model}} changes', - :submit => 'Save changes' + :submit => 'Save changes', + :another_post => { + :update => 'Update your {{model}}' + } } } } @@ -550,6 +553,21 @@ class FormHelperTest < ActionView::TestCase I18n.locale = old_locale end + def test_submit_with_object_and_nested_lookup + old_locale, I18n.locale = I18n.locale, :submit + + form_for(:another_post, @post) do |f| + concat f.submit + end + + expected = "<form action='http://www.example.com' method='post'>" + + "<input name='commit' id='another_post_submit' type='submit' value='Update your Post' />" + + "</form>" + assert_dom_equal expected, output_buffer + ensure + I18n.locale = old_locale + end + def test_nested_fields_for form_for(:post, @post) do |f| f.fields_for(:comment, @post) do |c| |