instance method button

Ruby on Rails 4.2.9

Since v3.2.22.5

Available in: v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

button(value = nil, options = {}, &block)

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 button label, otherwise, it uses “Update Post”.

Those labels can be customized using I18n, under the helpers.submit key (the same as submit helper) and accept the %{model} as translation interpolation:

en:
  helpers:
    submit:
      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}"
Examples
button("Create a post")
# => <button name='button' type='submit'>Create post</button>

button do
  content_tag(:strong, 'Ask me!')
end
# => <button name='button' type='submit'>
#      <strong>Ask me!</strong>
#    </button>

Parameters

value opt = nil
options opt = {}
block block
Source
# File actionview/lib/action_view/helpers/form_helper.rb, line 1858
      def button(value = nil, options = {}, &block)
        value, options = nil, value if value.is_a?(Hash)
        value ||= submit_default_value
        @template.button_tag(value, options, &block)
      end

Defined in actionview/lib/action_view/helpers/form_helper.rb line 1858 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActionView::Helpers::FormBuilder

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close