rails 列不能为空:

2024-01-25

我注意到我的应用程序会自动将所有流程设置为在创建后立即完成。我浏览了一下,找不到为什么在没有被告知的情况下更新日期,但我发现我的观点之一是寻找一个不存在的字段。我创建了“完整”字段,将其设置为非空布尔值,然后再次尝试。

我再次将其自动设置为 true,因此我尝试在 create 方法中将其显式设置为 false,但这仍然不起作用:S 所以我尝试将隐藏字段放入表单中。即使正在提供该值,我现在仍收到“列不能为空”错误。

正如您所看到的,显然有一个完整值的参数。我缺少什么?

Error:

Mysql::Error: Column 'complete' cannot be null: INSERT INTO `decommissions` (`completed_at`, `keep_backups`, `services_stopped`, `updated_at`, `operating_system_id`, `comments`, `username`, `disposition`, `stakeholder_email`, `complete`, `alias`, `storage`, `model_id`, `contract_maintenance`, `created_at`) VALUES(NULL, 1, 1, '2010-10-18 00:32:37', 1, NULL, NULL, '', 'tes[email protected] /cdn-cgi/l/email-protection', NULL, 'test1', '', 1, '', '2010-10-18 00:32:37')

参数:

{"decommission"=>{"dns_items_attributes"=>{"0"=>{"ip"=>"131.181.185.111",
 "alias"=>"test",
 "retain"=>"1",
 "_destroy"=>""}},
 "keep_backups"=>"1",
 "services_stopped"=>"1",
 "operating_system_id"=>"1",
 "stakeholder_email"=>"[email protected] /cdn-cgi/l/email-protection",
 "alias"=>"test1",
 "model_id"=>"1"},
 "commit"=>"Submit",
 "authenticity_token"=>"cMMf0zS/5jPExlXqVPaYVXndqPeVkm+OQ/WEPIYd2+g=",
 "disposition"=>"Dispose",
 "complete"=>"false",
 "storage"=>"Local",
 "contract_maintenance"=>"0"}

当我将以下内容放入创建控制器时,它呈现“true”:

@decommission = Decommission.new(params[:decommission])
@decommission.complete = false
render :text => @decommission.complete

您可能强制执行了数据库约束,即该列不能包含NULL通过迁移中的某些内容获得价值,例如:

add_column :decommissions, :complete, :boolean, :null => false

您可能还希望该列的默认值为false而不是NULL

就我个人而言,我养成了每当添加布尔列时总是设置的习惯:default => false(或 true),这有助于避免在检查范围等中的 true 或 false 时出现逻辑错误,忘记如果设置不正确,该值有时可能为 null。

您可以从 mysql 提示符确认这是否是问题所在:

mysql> show indexes from decommissions;

应该有一个索引Non_unique设置为 0 和Column_name的完整。

要解决此问题,您可以添加执行以下操作的迁移:

change_column_default(:decommissions, :complete, false)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rails 列不能为空: 的相关文章

  • 来自 csv.read 模拟文件的 rspec 测试结果

    我正在使用 ruby 1 9 并且正在尝试执行 BDD 我的第一个测试 应该在 csv 中读取 有效 但第二个测试 我需要模拟文件对象 却不起作用 这是我的型号规格 require spec helper describe Person d
  • $ bundle exec rake db:reset 命令提升无法删除 db/development.sqlite3

    我试着跑 bundle exec rake db reset并在控制台上发现以下内容 Couldn t drop db development sqlite3
  • Cucumber 是否不需要编写单元测试?

    我对 Ruby ROR 可用的测试框架数量之多感到有点困惑 我最近看了黄瓜轨道广播 http railscasts com episodes search cucumber并发现它们非常有趣 所以我开始玩游戏 然后努力从概念上考虑在哪里进行
  • Rails 中的会话、子域和 authlogic 问题

    我有一个带有 authlogic 身份验证的 Rails 应用程序和一个使用 subdomain fu 构建的 username domain com 结构 但是当从domain com转到username domain com时 我的会话
  • Rails/heroku 从 gem 迁移到 toolbelt

    我曾经在一个项目中使用过 heroku gem 既然工具带已经出来了 我想换一个 我从 Gemfile 中删除了 gem 并通过 gem uninstall heroku 卸载了它 我使用heroku网站上的pkg安装了heroku工具带
  • 默认更新嵌套属性

    我尝试更新 iProduction 这是生产中的嵌套表单 但此行出现参数错误 参数数量错误 0 代表 1 生产 update iproducts attributes cow id cow 我的创作动作制作 def create produ
  • Rails 多租户架构,限制多个租户的访问范围

    目前我们有一个单租户数据库架构 MySQL 运行着超过 100 个数据库 我们使用 Apartment gem 切换子域上的数据库连接 一切都很顺利 然而 我们现在需要创建所谓的 伞 客户端 它可以访问一组现有客户端的所有数据 我不认为这对
  • 使用绑定和空值命中 Oracle 索引的最佳查询

    我有一个表 该表在多个列上有一个索引 其中许多列可以为空 CREATE UNIQUE INDEX UX MYTABLE A B C D E ON MYTABLE A B C D E 现在 我在 C 代码中尝试检查该表并精确命中索引 对于每个
  • 我可以从安装 Rails 引擎的真实应用程序运行它的规格吗?

    我有一个 Rails 引擎 旨在为我们的一个更大的项目提供一些模型和控制器 引擎有一套相当不错的规格 在引擎的虚拟应用程序中使用了一堆模拟和一些全尺寸模型和控制器 以确保引擎正在做它应该做的事情并与更大的应用程序一起工作 然而 即使所有测试
  • 对 Rails 3.1 中的特定路由强制使用 SSL

    我需要强制启用 SSL所有路线在我的申请中除了landing index In config application rb 我有 config force ssl true Then in landing controller rb 我有
  • Rspec 控制器测试,传递 JSON 参数

    我试图实现以下目标 在 RSpec 控制器测试中创建 POST json 请求 并向其传递参数 这是我的代码 it returns access token do post login email bla password bla1 for
  • Rails - 使用 %W

    我有以下效果很好的 def steps w hello billing confirmation end steps first 但我想这样做 def step title w Upload a photo Billing Info Con
  • 为什么安装 Ruby 1.9.3 时会出现 404 错误?

    我最近擦除了我的计算机 操作系统 Mac OS X 10 6 8 并重新安装了所有开发工具 我再次安装了RVM 但是 它不允许我安装 Ruby 1 9 3 到目前为止我已经尝试过 rvm install 1 9 3 rvm install
  • json、rails、javascript 中的解析错误

    我需要将 ruby 数组放入 javascript 数组中 但出现解析错误 var characters 这就是我将 ruby 嵌入到内联 javascript 中的方式 但它出现了解析错误 我应该如何将此 ruby 数组放入 javasc
  • 在部分渲染时执行 JavaScript

    我有一些 JavaScript 代码 我想在用户单击其文件夹之一后执行 它会触发 show 操作和 show js erb 从而呈 现部分内容 Show js erb 当用户单击其文件夹之一时触发 如下所示 body append 它成功注
  • ActiveRecord 布尔验证接受非布尔值

    我正在尝试验证属性是否为布尔值 即 true 或 false 从我期望的 Rails 指南中 validates new out of stock inclusion in true false 可以工作 但它接受非布尔值 例如 Hi 作为
  • 使用 qunit 测试 emberjs/rails/devise 应用程序时“无法验证 CSRF 令牌真实性”

    我有一个 emberjs rails 应用程序 使用设备进行用户身份验证 我正在使用 qunit 构建集成测试 我在运行测试之前手动登录应用程序 测试期间可以处理 GET 请求 但 POST 请求失败 特别是 在发出 POST 请求时 我收
  • Rails 应用中静态页面的最佳实践

    我正在为当地企业开发一个 ruby on Rails 应用程序 这些页面是 静态 的 但可以通过我为它们构建的后端 CMS 进行更改 是否有为静态页面创建控制器的最佳实践 现在我有一个带有所有静态路由的站点控制器 如下所示 路线 rb ge
  • “gem install Rails”因 DNS 错误而失败

    rvm use Using home owner rvm gems ruby 2 1 2 gem install rails ERROR While executing gem Gem RemoteFetcher FetchError Er
  • pow 说: Bundler::GemNotFound:无法在任何源中找到 rake-0.9.2.2

    我有一个运行良好的 Rails 应用程序rails s 但是当我尝试使用 pow 加载它时 我收到此错误 Bundler GemNotFound Could not find rake 0 9 2 2 in any of the sourc

随机推荐

  • OpenCV:使用函数 cvGoodFeaturesToTrack 时出错

    当我调用函数 cvGoodFeaturesToTrack 来查找 Harris 角时 出现以下错误 OpenCV Error Assertion failed src type CV 8UC1 src type CV 32FC1 in co
  • 创建一个新的 AnonymousType 实例

    我正在尝试创建一个 AnonymousType 实例 如下所示 new Channel g Key Channel Comment g Key Comment Count g Count 在黑暗中 NET 创建一个 AnonymousTyp
  • Haskell 中的合并排序

    我是 Haskell 的新手 我正在尝试在其中实现一些已知的算法 我已经对字符串实现了合并排序 我有点失望 我的 Haskell 实现与 C 和 Java 实现相比的性能 在我的机器 Ubuntu Linux 1 8 GHz 上 C gcc
  • Maven编译错误

    您好 我有一个可以从我的计算机构建的项目 但是我在其他环境 服务器 中遇到了这个问题 INFO ERROR BUILD ERROR INFO INFO Internal error in the plugin manager executi
  • Python Virtualenv - 没有名为 virtualenvwrapper.hook_loader 的模块

    我运行的是 Mac 操作系统 10 6 8 除了 python 2 6 之外还想安装 python 2 7 并在新的 virtualenv 中使用 python 2 7 我执行了以下步骤 我下载了 python 2 7 并安装了它 http
  • 指定函数参数类型,但不指定变量

    我以前见过这样的示例代码 class C C C foo T1 T2 C foo T1 T2 not using T1 T2 与这样的传统代码相比 class D D D bar T1 t1 T2 t2 D bar T1 t1 T2 t2
  • 如何在 R 中的 data.table 中使用自定义函数

    这是我的交易数据 它显示了从帐户进行的交易from列到帐户中to包含日期和金额信息的列 data id from to date amount
  • mollview:使用 matplotlib 颜色图并更改背景颜色

    我正在尝试在healpy mollview上使用其他颜色图 我用这段代码成功了 from healpy import mollview from pylab import arange show cm m arange 768 mollvi
  • 使用输入单元格的单元格引用? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在单元格 K1 中 VBA 插入一个单元格引用 该引用根据 vba 代码中概述的某些条件而变化 对于此示例 假设此单元格的值为 A 13
  • 使用 Tensorflow 提高 Iris ML 模型的准确性

    我是 Python 和 ML 的初学者 我正在练习这个 Iris 数据集 以使用张量流 2 0 创建 ML 模型 我解析了 csv 并使用数据集训练了模型 在模型创建过程中 我能够获得 90 的训练准确度和 91 的验证准确度 import
  • tkinter 标签的背景颜色不会改变(python 3.4)

    我正在 python 3 4 中使用 Tkinter 制作一个小部件 由于某种原因 我无法更改标签的背景颜色默认的灰色 标签的代码是这样的 self label ttk Label master text Label Text foregr
  • Android:捕获 BLE 连接失败/断开连接?

    所以在正常情况下我能够很好地连接到 BLE 设备 我想做的是处理异常情况 例如与设备的连接失败或已建立的连接丢失 也许它被扔下悬崖或被公共汽车撞到 我正在使用 CyPress BLE 模块来测试这一点 我正在做的测试之一是断开模块的电源 然
  • 为什么 Spark 会失败并显示“检测到逻辑计划之间的 INNER join 的笛卡尔积”?

    我在用火花2 1 0 当我执行以下代码时 我从 Spark 收到错误 为什么 如何修复它 val i1 Seq a string another string last one toDF a b val i2 Seq one string
  • 为什么我的类在 Visual Studio 中默认是私有的?

    当我创建一个新的类文件时 Visual Studio 默认情况下不会将其公开 我可以改变这个吗 默认情况下 没有访问说明符的类是内部类 成员默认为私有类 这使得可见性尽可能受到限制 从而增加封装性 不假思索地公开一个新类就破坏了整个封装的想
  • 在异步循环中设置 useState 挂钩

    我对reactJs很陌生 我试图在异步循环中连接结果 但出了点问题 setState 未正确保存 当我打印它时 我可以看到它是一个空数组 我想是因为里面有一个异步调用 我该如何解决这个问题 请建议我 function App const d
  • 如何通过for循环在Rmarkdown中显示绘图图像?

    我正在处理一个列表svg打印到 html 文档 我正在使用magick包认为我愿意使用其他包 解决方案 下面的代码是我尝试渲染我的 html 文档 但是 不是渲染svg对于 html 文件 它只是将元数据打印到文档中 有没有办法克服这种行为
  • Karma:使用 WSL 中的 Windows Chrome

    我正在尝试使用 Windows 版本的 Google Chrome 从 WSL 启动 karma 在 karma conf js 中 我只使用 Chrome 浏览器 browsers Chrome 我像这样导出 CHROME BIN 环境变
  • LINQ to Entities 不支持指定的类型成员“Title”

    我在使用时遇到错误Title我的 Linq to Entity 中的属性 LINQ to 不支持指定的类型成员 Title 实体 仅初始值设定项 实体成员和实体导航 支持属性 我的查询是 var db FaraWorkspaceEntity
  • 基于 Woocommerce 中产品类别的条件自定义结帐字段

    我正在使用 woocommerce 作为一个非营利组织的网站 该网站出售课程门票和活动门票 当有人报名参加课程时 需要列出他们的紧急联系信息并同意免责 当他们购买活动门票时 非营利组织不需要紧急联系信息或责任免除 所以 他们希望这些字段仅在
  • rails 列不能为空:

    我注意到我的应用程序会自动将所有流程设置为在创建后立即完成 我浏览了一下 找不到为什么在没有被告知的情况下更新日期 但我发现我的观点之一是寻找一个不存在的字段 我创建了 完整 字段 将其设置为非空布尔值 然后再次尝试 我再次将其自动设置为