Ruby Simple Form复选框不检查True

时间:2015-06-24 18:02:26

标签: ruby-on-rails ruby simple-form

所以我有一个使用简单形式Ruby Gem制作的多个复选框。但问题是,即使我已经检查并设置了它们,它们也没有出现过检查。#34; 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 个答案:

答案 0 :(得分: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();
//});

但实际上这使得它如此简单只收到0,而且从来没有1。更确切地说,即使您选中了该框,它也永远不会真正起作用,因为这个Jquery代码在将变量发送到simpleform时操纵变量。如果我修复了这个复选框,那么在将来我会更新这篇文章,这样他们就可以看起来很漂亮了#34;而不是搞乱功能。这个问题花了很长时间才解决,考虑到我不知道这个文件,直到SimpleForm开发人员指出他们可能是一个js文件弄乱我的代码。

编辑:我希望这能更好地解释问题!