Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Mongomapper多次抛出错误消息_Ruby_Mongodb_Mongomapper_Mongodb Ruby - Fatal编程技术网

Ruby Mongomapper多次抛出错误消息

Ruby Mongomapper多次抛出错误消息,ruby,mongodb,mongomapper,mongodb-ruby,Ruby,Mongodb,Mongomapper,Mongodb Ruby,我的Ruby/MongoMapper应用程序中有一个简单的模型商店 我不知道为什么有时候我只收到一条错误消息,有时候我会收到三条这样的错误消息: '验证失败:已使用用户,已使用用户,已使用用户' 是的,我故意多次添加相同的用户id 这是我的密码: class Shop include MongoMapper::Document key :user_id, String, :required => true, :unique => true def self.add

我的Ruby/MongoMapper应用程序中有一个简单的模型商店

我不知道为什么有时候我只收到一条错误消息,有时候我会收到三条这样的错误消息:

'验证失败:已使用用户,已使用用户,已使用用户'

是的,我故意多次添加相同的用户id

这是我的密码:

class Shop
  include MongoMapper::Document
  key :user_id, String, :required => true, :unique => true

  def self.add
    begin
      ut = Shop.new
      ut.user_id = '11'
      ut.save!
      ut = nil
    rescue Exception => e
      puts e.message
    end
  end
end
结果:

# 'Validation failed: User has already been taken, User has already been taken, User has already been taken'
更新: 看起来好像要移除


修复了“问题”。但是为什么…

如果使用AR样式验证:user\u id的存在性和验证:user\u id的唯一性,会发生什么?MongoMapper有一些,嗯,怪癖,所以我想知道另一种方法是否更有效。看起来它要经过几次验证。当我运行一次代码时,效果很好。但是在第二次运行时,它会失败,直到我再次运行脚本停止/开始。您可以尝试添加自己的验证:some_方法,在some_方法中进行一些日志调用,以快速查看MongoMapper正在做什么。好的,谢谢。但到目前为止,这是随机发生的。。。
ut = nil