`
qwlong
  • 浏览: 30700 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Called id for nil, which would mistakenly be 4 错误解决之一

 
阅读更多
Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
这种问题如果是在一个事务中,你使用Customer.new的话,然后你又对customer进行一系列的操作,如下示例:
然后当你在save的时候就会报以上的错误
customer = Customer.new(attr)
      customer.channel_type = "101"
      customer.channel_id = 101
      customer.sales_id = 101
customer.save! #此处会报错

此时的解决办法就是把new 改为 create然后就可以了

customer = Customer.create(attr)
      customer.channel_type = "101"
      customer.channel_id = 101
      customer.sales_id = 101
  customer.save!
  如此代码为正确

具体原因尚未了解,希望高人解答!
分享到:
评论

相关推荐

    ios-一个关于数组越界、字典key与value为nil情况下导致的低级错误的线上Crash的避免的仓库.zip

    如果你尝试访问超出这个范围的索引,如一个长度为3的数组访问索引4,就会触发数组越界异常,程序会立即崩溃。避免这种错误的方法包括: 1. 在访问数组元素之前,检查索引是否在合法范围内。 2. 使用安全的数组访问...

    Chinese Entity Linking Comprehensive

    given a NIL-ID, which consists of "NIL" plus a four-digit zero-padded sequentially assigned integer (e.g. NIL-0001, NIL-0002). Both the entities with an entity node ID of "E" type and "NIL" type ...

    lua-cjson decode中null改成nil

    在Lua的世界里,CJSON(Compact JSON)是一个非常重要的库,它允许我们处理JSON数据,进行编码和解码。在JSON格式中,`null`是一个特殊的值,它表示空或者缺失。然而,Lua中没有`null`的概念,而是用`nil`来表示...

    nil_value_error解决办法.md

    nil_value_error解决办法.md

    FlexGraphics_V_1.79_D4-XE10.2_Downloadly.ir

    which the Assign method is called. - ADD: In TIdPool (module FlexUtils), added the method NextUsed (allows iterating all taken identifiers). - ADD: Added the method TEnumProp.SetItem for convenience...

    ios-清理模型中的nil.zip

    通过使用这样的工具类,开发者可以更安全地进行字典到模型的转换,避免因为`nil`或`null`导致的程序错误。在实际开发中,此类工具类往往能提高代码的健壮性和可维护性。对于处理网络数据,尤其是在与服务器交互频繁...

    Go-一个Go(golang)包用于将一错误列表展示成单个错误

    在这个例子中,`merr.Append()`用于添加新的错误到`MultiError`实例,最后`merr.ErrorOrNil()`会返回一个错误,如果`MultiError`中没有任何错误,则返回`nil`;如果有错误,返回的错误对象包含了所有的错误信息。 `...

    Go-beego框架自增id自写方法

    在Go语言中,Beego是一个流行的Web应用框架,它提供了ORM(对象关系映射)功能,使得数据库操作更加便捷。...这个过程涉及到数据库操作、事务管理和代码优化,是Go语言和Web开发中常见的实践之一。

    delphi中提示尚未调用coinitialize错误的解决方法.docx

    Delphi 中解决 CoInitialize 未调用错误的方法 ...CoInitialize 未调用错误是 Delphi 中非常常见的错误,解决方法是调用 CoInitialize=nil 方法,并在应用程序的最后一个线程中调用 CoUninitialize,以释放内存。

    ios-后台返回数据排空(nsnull nil)处理.zip

    在iOS开发中,后台返回的数据排空,即`NSNull`或`nil`值的处理,是一个常见的问题,尤其在与服务器进行数据交互时。服务器返回的数据可能存在缺失或者异常,导致程序在解析过程中可能出现崩溃。本教程将深入探讨如何...

    ios-防止数组越界 字典value为nil导致崩溃.zip

    在iOS开发中,数组越界和字典value为nil是两个常见的编程错误,它们可能导致程序崩溃,严重影响用户体验。为了防止这种情况,开发者需要采取相应的措施。这个压缩包提供了一个名为"NSObject+runtime"的分类,旨在...

    Delphi IOS 调用TouchID与FaceID

    在iOS开发中,为了提供安全的身份验证功能,Apple引入了TouchID和FaceID技术。这两个生物识别技术允许用户通过指纹或面部识别来解锁设备、验证购买或者授权应用程序内的敏感操作。在Delphi环境下,开发者可以利用...

    FaceID & TouchID

    FaceID和TouchID是苹果设备上两种主要的身份验证技术,为用户提供了一种安全且便捷的方式来解锁设备、验证购买以及保护应用程序中的敏感数据。这两种技术都属于Apple的生物识别技术范畴,增强了用户隐私和数据安全。...

    delphi中提示尚未调用coinitialize错误的解决方法.pdf

    Delphi 中提示尚未调用 CoInitialize 错误的解决方法 COM(Component Object Model)是微软公司开发的一种软件组件模型,用于实现跨语言、跨平台的软件组件之间的交互。OLE(Object Linking and Embedding)是微软...

    nil_value_error如何解决.md

    项目中碰到的,记录一下

    总结IOS中nil、Nil、NULL和NSNull区别

    在Objective-C编程中,了解nil、Nil、NULL和NSNull之间的区别至关重要,因为它们在不同场景下有着不同的用途和含义。下面将逐一详细介绍这些概念。 1. **NULL** NULL是C语言中的一个宏,用来表示空指针。在C语言中...

    iOS中nil、Nil、NULL、NSNull详解

    在iOS开发中,我们经常会遇到各种表示空值的符号,如nil、Nil、NULL和NSNull。理解它们的区别和用途是编写清晰、可维护代码的关键。 1. nil nil是Objective-C中的对象空值,主要用于表示id类型或者使用@interface...

    delphi中提示“尚未调用coinitialize错误”的解决方法.docx

    Delphi 中解决 "未调用 CoInitialize" 错误的方法 在 Delphi 开发中,遇到 "尚未调用 CoInitialize" 错误是一种常见的问题。这个错误通常发生在使用 COM 组件或 OLE 对象时,例如使用 ADO 数据库组件或 WebBrowser ...

    iOS中json解析出现的null,nil,NSNumber的解决办法

    - **NullSafe Category**:这是一个强大的解决方案,通过Category在运行时将`NSNull`对象自动转换为`nil`,无需额外操作。可以在GitHub上找到这个开源库,将其集成到项目中即可。 3. **深入理解JSON结构** JSON...

    swift-对touchID的简单封装--Swift3.0

    在iOS开发中,Touch ID是一种安全且便捷的身份验证方式,用户可以通过自己的指纹来解锁设备、确认支付或授权敏感操作。Swift 3.0是Apple在2016年发布的编程语言版本,它提供了更加现代、易读的语法,以及更好的类型...

Global site tag (gtag.js) - Google Analytics