Button_to без отправки
Могу ли я иметь кнопку со стороны формы, но не иметь type=submit
?
Я делаю что-то особенное. У меня есть форма,
<%= form_for(@user) do |f| %>
и эта форма будет отображаться на основе значения в сеансе.
В стороне форма, у меня уже есть f.submit
, и я хочу, чтобы другая кнопка, кнопка отмены, вызывала метод от контроллера, чтобы изменить значение сеанса, если пользователь хочет отменить ввод.
Но если я использую button_to
, тип кнопки будет "отправить", когда я нажму кнопку, он представит всю форму. Если какое-то значение недействительно, оно будет жаловаться. Он не работает как кнопка "Отмена", которую я ожидал.
Могу ли я получить кнопку, которая не отправит форму?
Я попытался использовать submit_tag, но buttom dosn`t работает для меня...
<%= submit_tag 'Cancel Edit', :type => 'button', :controller => 'my_account', :action=>'cancel_edit' %>
Ответы
Ответ 1
button_to
helper фактически генерирует целую форму:
Создает форму, содержащую одну кнопку, которая отправляет URL-адрес, созданный набором options
.
Так что определенно не то, что вы хотите. Я думаю, вы просто хотите создать простой элемент <input type="button">
в своем HTML. Однако нет button_tag
в FormTagHelper
, но есть submit_tag
, вы можете передать параметр :type
, и это будет:
Любой другой ключ создает стандартные параметры HTML для тега.
Итак, попробуйте следующее:
submit_tag 'Pancakes', :type => 'button'
где "Блинчики" станут вашей настоящей меткой.
Ответ 2
Попробуйте следующее:
<%= button_tag "Cancel", :type => 'button', :class => "subBtn", :onclick => "location.href = '#{list_admin_users_admin_index_path()}'" %>
Ответ 3
Вы можете использовать помощник, похожий на f.submit
:
<%= f.button 'Save' %>
Документация