ruby-on-rails - Ruby 简单表单复选框在 True 时不检查

标签 ruby-on-rails ruby simple-form

所以我有多个使用简单形式的 Ruby Gem 制作的复选框。但问题是,即使我已经检查并将它们设置为“真”并按下更新按钮,它们也没有出现被检查。我有三个示例,它们都不起作用,我尝试为所有三个示例编写不同的代码。

  <%= 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"%>

最后一个例子。

这些都没有实际工作或保持检查。我有其他输入,当我按下更新按钮时它们正在保存。但是复选框不是。任何帮助将不胜感激。

最佳答案

这是一个 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 时对其进行了操作。将来如果我修复了复选框,我会更新这篇文章,这样它们看起来“漂亮”,同时又不会影响功能。这个问题花了很长时间才解决,考虑到我不知道这个文件,直到一个 SimpleForm 开发人员指出他们可能是一个混淆我的代码的 js 文件。

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

关于ruby-on-rails - Ruby 简单表单复选框在 True 时不检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31033779/

相关文章:

mysql - Rails 迁移需要不可移植的 SQL

javascript - 使用 Rails 中上一页的数据预填充表单字段

ruby-on-rails - 使用 REXML 获取 XML ID

ruby-on-rails - 将值相关的数据属性添加到 simple_form 复选框集合

html - 使 simple_form 文本字段透明

ruby-on-rails - 如何在 Rails 中的 Google Universal Analytics 跟踪代码中设置 USER_ID?

CentOS 6.2 上的 Ruby OpenSSL::SSL::SSLError

ruby - 为什么要在 attr_accessor 中使用符号而不是字符串?

javascript - jquery 未在 Rails 服务器上加载 - '$ is not defined'

css - Ruby on Rails 中表单提交旁边出现的简单表单错误消息