Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Consistently render
button_to
as <button>
Prior to this commit, the [ActionView::Helpers::UrlHelper#button_to][button_to] helper rendered `<input type="submit">` elements when passed its contents as a String argument, and rendered `<button type="submit">` elements when passed its contents as a block. This difference is subtle, and might lead to surprises. Additionally, a `<form>` element's submitter can encode a `name`/`value` pairing, which will be submitted as part of the request. When `button_to` renders an `<input type="submit">` element, the "button" content is rendered as a `[value]` attribute, which prevents any meaningful data from being encoded. Since it's a single `<button>` or `<input type="submit">` within a `<form>`, missing out on that opportunity to encode information might not be a show stopper, but ensuring that a `<button>` element is rendered _without_ a default `[value]` attribute enables applications to encode additional information that can be accessed JavaScript as `element.value`, instead of a workaround like `element.getAttribute("data-value")`. Support rendering `input` elements with button_to --- To support the original behavior of `button_to` rendering `<input type="submit">` elements when invoked _without_ a block, expose the `app.config.button_to_generates_button_tag` configuration flag. By default, it's set to `true` and ensures that all `button_to` calls render `<button>` elements. To revert to the original behavior, set it to `false`. [button_to]: https://api.rubyonrails.org/v6.0/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to Co-authored-by: Dusan Orlovic <duleorlovic@gmail.com>
- Loading branch information
1 parent
dbf6dbb
commit 9af9458
Showing
6 changed files
with
80 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters