aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/helpers/form_helper.rb
diff options
context:
space:
mode:
authorWill Farrington <wcfarrington@gmail.com>2011-12-10 23:53:39 -0500
committerWill Farrington <wcfarrington@gmail.com>2011-12-11 08:56:26 -0500
commit3f65e7f7be92adfb2d89ec23ef28a96d2bfae294 (patch)
tree3659b4db936a4b2a5f5c8c47ba0e45ccc3946439 /actionpack/lib/action_view/helpers/form_helper.rb
parentd102791df7c38e7726eb32e70e2f25af97a3ca2a (diff)
downloadrails-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/helpers/form_helper.rb')
-rw-r--r--actionpack/lib/action_view/helpers/form_helper.rb33
1 files changed, 33 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