1

我知道这个问题已经被问过很多次了,但是尽管研究了过去 2 天,我仍然无法得到解决方案。

目前我在我的 Rails 应用程序中实现了 bootstrap-switch。从关闭切换到打开后,数据库正确更新了布尔值。

不幸的是,在使用引导开关返回页面时,它显示“关闭”而不是保存的切换状态“打开”。

我应该怎么做才能在每次切换时显示正确的状态?

真的非常感谢任何帮助..

导轨视图

    <%= form_for([:admin, type], remote: true, url: admin_update_ot_path, method: :post) do |f| %>
      <div class="field">
          <%= f.hidden_field :product_id, :value => @product.id, :id => "pid" %>
          <%= f.hidden_field :option_type_id, :value => type.id, :class => "tid" %> 
          <%= f.check_box :hidden, id: "bootstrapswitch", 'data-type' => type.id %> 
      </div>
        <%= f.submit "update option type" %>
    <% end %>

option_type.js.coffee

$(document).on "turbolinks:load", ->
$("[id='bootstrapswitch']").bootstrapSwitch()

option_type.js

$(document).on('turbolinks:load', function() {

$('.edit_option_type input[type=submit]').remove();
$('.edit_option_type input[type=checkbox]').on('switchChange.bootstrapSwitch', function(event, state) {
    var product_id = $("#pid").val();
    var option_type_id = $(this).data('type');
    console.log(option_type_id);


    if (state == true) {
        $.ajax({
            type: "POST",
            dataType: "json",
            url: "/admin/update_ot",
            data: {option_type: {product_id: product_id, option_type_id: option_type_id, hidden: 1}}
            });
    }
    else {
        $.ajax({
            type: "POST",
            dataType: "json",
            url: "/admin/update_ot",
            data: {option_type: {product_id: product_id, option_type_id: option_type_id, hidden: 0}}
            });
    }

});
});
4

0 回答 0