我正在使用Rails。 4.0.5,Postgres 9.3和Ruby 2.1.2。我在resque任务,并针对同一数据库控制台运行的一些代码(我双重检查数据库和连接设置)rails find_or_create_by找不到存在的记录
在循环中我基本上执行以下命令:
item = ContentItem.create_with(item_params).find_or_create_by(digest: entry.digest)
为19个项目,它工作正常,如果我重新运行代码,并执行查找或创建所需..但他们中的一个不工作。它没有找到它,并创建因为我的项目
@messages={:digest=>["has already been taken"]}
做好对有关项目的下列得到一个错误,并细返回实际项目的每一个呼叫失败...
ContentItem.find_by_digest('e9e61c790f0fd63d367f6b2c210cb5d1ed00aefd')
我不知道什么可能导致行为。
字段是一个40个字符的字符串,并用作摘要。我错过了什么?它也有一个独特的索引设置。
让我试试。我想知道如果这是因为我有太多插入一次 – user3622093