【发布时间】:2021-12-15 03:26:32
【问题描述】:
我有这样的代码:
# User - typical class of ActiveRecord::Base
user1 = User.first
user2 = User.last
user2.save
# return true
user1.save
(1.2ms) BEGIN
(1.4ms) ROLLBACK
NoMethodError: undefined method `delete_if' for #<String:0x000000073a9790>
user1.errors.count
# 0 errors returned!
我无法在本地重现此错误,只能在服务器上。
它是什么?
如何获得有关这个神奇错误的更多信息并修复它?
添加: 似乎与设计 gem 有问题,因为这种解决方法可能:
user1.tokens = nil
user.save
# return true
【问题讨论】:
-
是否返回了堆栈跟踪或只是错误消息?如果没有堆栈跟踪,我会在整个代码库中搜索字符串
delete_if。这应该会引导您找到引发错误的位置以及引发错误的原因。 -
听起来你有一个字符串,你应该有一个哈希或数组。是其中一位用户的
tokens字段吗?
标签: ruby-on-rails ruby activerecord