Примечание: подобные вопросы существуют, но ни один из них не похож на мой случай
Я делаю маленькую форму Ajax в моих представлениях рельсов с переключателями да или нет, я создал эту форму с remote: true
, и она действуетправильно, как Ajax, если я использую отдельную кнопку отправки (перезагрузка страницы не происходит и форма передается контроллеру)
Если я использую Jquery, чтобы переключатели самостоятельно отправляли форму, то она отправляет, но не в Ajax (но с перезагрузкой страницы)
Итак, как это исправить:
Отправьте форму, нажав одну из 2 переключателей в Ajax?
Две вещи, которые я пробовал:
1) Создайте две разные кнопки отправки и попробуйте настроить значение формы в самом btn для отправки, если я сделаю их кнопками отправки, Ajax работает хорошо, но форма не получаетмое обязательное значение
<div class="radio-button-btn-wrapper mr-2">
<%= f.submit t('yes'), recommended: true, class: "radio-button-btn-label-white background-green" %>
</div>
<div class="radio-button-btn-wrapper mr-2">
<%= f.submit t('no'), recommended: false, class: "radio-button-btn-label-white background-red" %>
</div>
2) Настройте переключатели для отправки формы в Ajax-режиме (пробовал, но это не сработало)
<%= simple_form_for [...model names], remote: true do |f| %>
<div class="flex">
<div class="radio-button-btn-wrapper mr-2">
<%= label :recommended, t('yes'), class: "radio-button-btn-label white" %>
<%= f.radio_button :recommended, true, onclick: "$(this).closest('form').submit();", class: "radio-button-btn background-green" %>
</div>
<div class="radio-button-btn-wrapper">
<%= label :recommended, t('no'), class: "radio-button-btn-label white" %>
<%= f.radio_button :recommended, false, onclick: "$.ajax((this).closest('form').submit());", class: "radio-button-btn background-red" %>
</div>
</div>