出现这种问题可能是由于在创建 ActiveRecord 对象时使用了 before_save 或 after_save 回调中的代码抛出了异常。因此,尝试删除回调函数的代码并重新创建对象。如果在处理回调函数时需要检查一些条件,请确保使用条件语句正确处理异常。
代码示例:
class User < ActiveRecord::Base before_save :check_some_condition
def check_some_condition # 当条件不满足时抛出异常 raise "Condition not met." end end
user = User.new(name: "John")
user.save # => RuntimeError: Condition not met.
class User < ActiveRecord::Base
end
user = User.new(name: "John") user.save # => true user.id # => 1
User.find(1) # => #