method
button
Ruby on Rails latest stable (v7.1.3.2)
-
0 notes -
Class: ActionView::Helpers::FormBuilder
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1 (0)
- 3.2.8 (0)
- 3.2.13 (0)
- 4.0.2 (30)
- 4.1.8 (0)
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (0)
- 5.1.7 (0)
- 5.2.3 (2)
- 6.0.0 (0)
- 6.1.3.1 (17)
- 6.1.7.7 (0)
- 7.0.0 (38)
- 7.1.3.2 (0)
- 7.1.3.4 (0)
- What's this?
button(value = nil, options = {}, &block)
public
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 using %{model} for translation interpolation:
en: helpers: submit: create: "Create a %{model}" update: "Confirm changes to %{model}"
It also searches for a key specific to the given object:
en: helpers: submit: post: create: "Add %{model}"
Examples
button("Create post") # => <button name='button' type='submit'>Create post</button> button(:draft, value: true) # => <button id="post_draft" name="post[draft]" value="true" type="submit">Create post</button> button do content_tag(:strong, 'Ask me!') end # => <button name='button' type='submit'> # <strong>Ask me!</strong> # </button> button do |text| content_tag(:strong, text) end # => <button name='button' type='submit'> # <strong>Create post</strong> # </button> button(:draft, value: true) do content_tag(:strong, "Save as draft") end # => <button id="post_draft" name="post[draft]" value="true" type="submit"> # <strong>Save as draft</strong> # </button>