我有一个模特
class Item < ActiveRecord::Base
enum status: { requested: 0, received: 1, sent: 3 }
validates_presence_of :status
end
def self.save_value(item_id, value
item = Item.find(item_id)
item.value = value
item.save!
end
有时(<1%的时间),我在Validation failed: status can't be blank
上收到类似item.save!
的错误
需要注意的地方
我注意到是什么问题,这是枚举问题吗?
答案 0 :(得分:0)
我现在也面临着类似的问题,因为我分析了一个原因可能是如果模型中的枚举哈希值已更新(即,删除了一些键值)并且DB中已经有一些带有这些枚举值的记录,那么设置为零。
在这种情况下,我的Model.where(status: nil).count
或Model.where(status: nil)
也没有在Rails控制台中获取这些记录。