Rails bootstrap_checkbox не отражает значение таблицы — показывает все выключенное

#ruby-on-rails

#ruby-on-rails

Вопрос:

Я создал форму для таблицы с в основном логическими значениями. Форма отображается хорошо, переключатель начальной загрузки работает хорошо, он хорошо сохраняет данные, но при повторном вызове страницы редактирования все значения отображаются как выключенные.

Я попытался поиграть с опциями. Добавляем checked_value и unchecked_value, но это не работает.

 <%= simple_form_for(@setting) do |f| %>
        <div class="form-check_boxs">

          <div class="row">
            <div class="col-md-4">
              <%= f.label :open_for_work  do %>
                <%= t :open_for_work %>
            </div>
            <div class="col-md-8">
              <%= f.check_box :open_for_work,  options: {}, checked_value: "true", unchecked_value: "false" %>
            </div><% end %>
          </div>
          <div class="row">
            <div class="col-md-4">
              <%= f.label :turn_app_local  do %>
                <%= t :turn_app_local%>
            </div>
            <div class="col-md-8">
              <%= f.check_box :turn_app_local,  options: {}, checked_value: "true", unchecked_value: "false"  %>
            </div><% end %>
          </div>
      <div class="form-actions">
          <%= f.button :submit, class: "btn btn-primary" %>
        </div>
      <% end %>
  

Кто-нибудь знает, как на самом деле использовать gem ‘bootstrap-switch-rails’ в rails?
ПРИМЕЧАНИЕ: Весь мой сайт находится в Bootsrap 4, может быть причиной, по которой это не работает?

Ответ №1:

Проблема с начальной загрузкой должна влиять только на стиль, а не на фактические параметры, переданные через. Попробуйте:

 <%= f.input :status, :as => :check_boxes, collection: [['true', 'false']]  %>
  

Обратите внимание, что они будут передавать строки ‘true’ и ‘false’ соответственно, когда они выбраны или нет.

Комментарии:

1. Эй, Марк, это решение на самом деле не работает для меня. Переключатель отображается, но он больше не работает, и справа от него написано «true».