rails/actionview
Sean Doyle 15f6113622 Support name Symbol to FormBuilder#button
Since `<button>` elements translate their `[name]` and `[value]`
attributes to the resulting `<form>` element submission, and are encoded
into the resulting `URLSearchParams` or `FormData` instance, Action View
`FormBuilder` instances should support encoding a method name the same
way it does for other fields.

For instance, consider this HTML:

```html
<button>Publish</button>
<button name="post[draft]" value="true">Save as draft</button>
```

Clicking the "Publish" button would submit the form without encoding any
additional `[name]` and `[value]` pairs.

Clicking the "Save as draft" button would submit the form and encode
`post[draft]=true` into the submission.

This commit changes the `FormBuilder#button` method to interpret a
`Symbol` as the first argument as a method name argument, and encodes
its value based on the form's `model:` or `scope:` value:

```erb
<%= form.button :draft, value: true do %>
  Save as draft
<% end %>
end
<%# =>  <button name="post[draft]" value="true" type="submit">  %>
<%#       Save as draft                                         %>
<%#     </button>                                               %>
```

Co-authored-by: Rafael Mendonça França <rafael@rubyonrails.org>
2021-11-15 21:40:06 +00:00
..
app/assets/javascripts Adding docs link to ujs readme 2021-06-28 14:55:37 -06:00
bin Use frozen string literal in actionview/ 2017-07-24 11:53:43 +03:00
lib Support name Symbol to FormBuilder#button 2021-11-15 21:40:06 +00:00
test Support name Symbol to FormBuilder#button 2021-11-15 21:40:06 +00:00
.gitignore Clean up and consolidate .gitignores 2018-02-17 14:26:19 -08:00
actionview.gemspec Fix gemspec 2021-11-15 21:06:21 +00:00
blade.yml Add rails-ujs to Action View 2016-11-26 01:23:07 -05:00
CHANGELOG.md Support name Symbol to FormBuilder#button 2021-11-15 21:40:06 +00:00
coffeelint.json Test rails-ujs in our travis matrix 2017-02-22 13:49:28 -05:00
MIT-LICENSE Bump license years to 2021 [ci skip] 2021-01-01 12:21:20 +09:00
package.json Preparing for 7.0.0.alpha2 release 2021-09-15 18:22:51 -04:00
Rakefile Load framework test files in deterministic order 2019-12-16 16:55:06 +00:00
README.rdoc Rename master to main in all code references 2021-01-19 20:46:33 +00:00
RUNNING_UJS_TESTS.rdoc Fix typos and add a few suggestions 2017-11-28 19:27:43 +01:00
RUNNING_UNIT_TESTS.rdoc Fix typos and add a few suggestions 2017-11-28 19:27:43 +01:00

= Action View

Action View is a framework for handling view template lookup and rendering, and provides
view helpers that assist when building HTML forms, Atom feeds and more.
Template formats that Action View handles are ERB (embedded Ruby, typically
used to inline short Ruby snippets inside HTML), and XML Builder.

You can read more about Action View in the {Action View Overview}[https://edgeguides.rubyonrails.org/action_view_overview.html] guide.

== Download and installation

The latest version of Action View can be installed with RubyGems:

  $ gem install actionview

Source code can be downloaded as part of the Rails project on GitHub:

* https://github.com/rails/rails/tree/main/actionview


== License

Action View is released under the MIT license:

* https://opensource.org/licenses/MIT


== Support

API documentation is at

* https://api.rubyonrails.org

Bug reports for the Ruby on Rails project can be filed here:

* https://github.com/rails/rails/issues

Feature requests should be discussed on the rails-core mailing list here:

* https://discuss.rubyonrails.org/c/rubyonrails-core