diff options
author | Will Farrington <wcfarrington@gmail.com> | 2011-12-10 23:53:39 -0500 |
---|---|---|
committer | Will Farrington <wcfarrington@gmail.com> | 2011-12-11 08:56:26 -0500 |
commit | 3f65e7f7be92adfb2d89ec23ef28a96d2bfae294 (patch) | |
tree | 3659b4db936a4b2a5f5c8c47ba0e45ccc3946439 /actionpack/lib/action_view | |
parent | d102791df7c38e7726eb32e70e2f25af97a3ca2a (diff) | |
download | rails-3f65e7f7be92adfb2d89ec23ef28a96d2bfae294.tar.gz rails-3f65e7f7be92adfb2d89ec23ef28a96d2bfae294.tar.bz2 rails-3f65e7f7be92adfb2d89ec23ef28a96d2bfae294.zip |
Add button_tag support to ActionView::Helpers::FormBuilder.
This support is near-identical to the existing submit_tag support.
Example:
<%= form_for @post do |f| %>
<%= f.button %>
<% end %>
Diffstat (limited to 'actionpack/lib/action_view')
-rw-r--r-- | actionpack/lib/action_view/helpers/form_helper.rb | 33 | ||||
-rw-r--r-- | actionpack/lib/action_view/locale/en.yml | 6 |
2 files changed, 39 insertions, 0 deletions
diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb index 1a64b12aa6..ccb2275329 100644 --- a/actionpack/lib/action_view/helpers/form_helper.rb +++ b/actionpack/lib/action_view/helpers/form_helper.rb @@ -1364,6 +1364,39 @@ module ActionView @template.submit_tag(value, options) end + # Add the submit button for the given form. When no value is given, it checks + # if the object is a new resource or not to create the proper label: + # + # <%= form_for @post do |f| %> + # <%= f.button %> + # <% end %> + # + # In the example above, if @post is a new record, it will use "Create Post" as + # submit button label, otherwise, it uses "Update Post". + # + # Those labels can be customized using I18n, under the helpers.submit key and accept + # the %{model} as translation interpolation: + # + # en: + # helpers: + # button: + # create: "Create a %{model}" + # update: "Confirm changes to %{model}" + # + # It also searches for a key specific for the given object: + # + # en: + # helpers: + # button: + # post: + # create: "Add %{model}" + # + def button(value=nil, options={}) + value, options = nil, value if value.is_a?(Hash) + value ||= submit_default_value + @template.button_tag(value, options) + end + def emitted_hidden_id? @emitted_hidden_id ||= nil end diff --git a/actionpack/lib/action_view/locale/en.yml b/actionpack/lib/action_view/locale/en.yml index eb816b9446..f2a83b92a9 100644 --- a/actionpack/lib/action_view/locale/en.yml +++ b/actionpack/lib/action_view/locale/en.yml @@ -152,3 +152,9 @@ update: 'Update %{model}' submit: 'Save %{model}' + # Default translation keys for button FormHelper + button: + create: 'Create %{model}' + update: 'Update %{model}' + submit: 'Save %{model}' + |