Ruby простая форма флажок не проверяет, когда True
Итак, у меня есть несколько флажков, сделанных с использованием простой формы рубинового камня. Но проблема в том, что они не появляются проверенными, даже когда я проверил и установил их "true" и нажал кнопку обновления. У меня есть три примера, все они не работают, и я попытался сделать другой код для всех трех.
<%= f.input :same_as_client_email,
inline_label: "Same as Client Email",
as: :boolean %>
Первый пример
<%= f.input :same_as_client_name,
inline_label: "Same as Client Name",
as: :boolean, checked_value: true,unchecked_value: false
%>
Второй пример
<%= f.input :active,
as: :boolean,
checked_value: true, unchecked_value: false,
input_html: { value: '1', checked: true },
inline_label: "Active"%>
Последний пример.
Ни один из них не работает и не остается проверенным. У меня есть другие входы, и они есть сохранение при нажатии кнопки Обновить. Но флажков нет. Любая помощь будет оценена по достоинству.
1 ответ:
Это была проблема javascript на случай, если кто-то еще придет и увидит это. Будьте внимательны, используя jquery и simpleform вместе. Моя проблема заключалась в том, что у нас был код jquery, чтобы сделать наши кнопки более эстетически привлекательными.
//$(function checkbox() { // 'use strict' // // var originalElement = $('input[type="checkbox"]'); // var overlay = '<div class="checkbox-overlay"><div class="inner"></div></div>'; // // function swapCheckbox() { // originalElement.replaceWith(overlay); // } // // function toggleCheckbox() { // $(this).toggleClass('checked'); // // } // // function initialize() { // swapCheckbox(); // $('body .checkbox-overlay').on('click', toggleCheckbox); // } // // initialize(); //});
Но на самом деле это делало его таким simpleform получал только 0, а не 1. другими словами, даже если вы установите флажок, он никогда не будет работать, потому что этот код Jquery манипулировал переменными, когда они были отправлены в simpleform. В в будущем я обновлю этот пост, если исправлю флажки, чтобы они выглядели "красиво", не путаясь с функциональностью. Эта проблема заняла много времени, учитывая, что я не знал об этом файле, пока разработчик SimpleForm не указал, что их файл может быть JS, который возится с моим кодом.
Edit: я надеюсь, что это лучше объясняет проблему!