button_to 'Label', url a lot. Sometimes I need to add some html, for example icon
button_to '<i class='fas fa-search'>Search'.html_safe, url and that is not possible unless I use it with block argument
Would not be better to have
<button> as default since it is a more powerful (since it can contain other markup) than input type submit (as a value only simple text is supported) ?
Another reason is that in mini tests, it is easier to write
assert_select 'button', 'Label' than `assert_select ‘input[value=?]’, ‘Label’ , right ?