【发布时间】:2018-07-05 17:17:11
【问题描述】:
我有一个基于范围的唯一性验证模型(我使用的是 Rails 5):
validates_uniqueness_of :n_pacote, scope: :ecg_id
即使进行了验证,我注意到相同的 ecg_id 的 n_pacote 值是重复的。我还注意到它们几乎是同时创建的:
[Thu, 05 Jul 2018 14:07:59 -03 -03:00, Thu, 05 Jul 2018 14:07:58 -03 -03:00, Thu, 05 Jul 2018 14:07:58 -03 -03:00]
它们是通过可能被多次调用的 api 调用创建的。我该如何解决?提前致谢
编辑:
以下是 3 条记录的所有属性,这些记录对于相同的 ecg_id 具有相同的 n_pacote 值:
{"id"=>32289, "ecg_id"=>29, "leitura"=>[170, 69, 85, 81, 69, 85, 81, 69, 85, 81, 70, 102, 98, 70, 102, 98, 70, 102, 98, 71, 119, 115, 71, 119, 115, 71, 119, 115, 72, 136, 132, 72, 136, 132, 72, 136, 132, 73, 153, 149, 73, 153, 149, 73, 153, 149], "posprocessada"=>nil, "created_at"=>Thu, 05 Jul 2018 14:07:59 -03 -03:00, "updated_at"=>Thu, 05 Jul 2018 14:07:59 -03 -03:00, "n_pacote"=>1620}
{"id"=>32276, "ecg_id"=>29, "leitura"=>[170, 69, 85, 81, 69, 85, 81, 69, 85, 81, 70, 102, 98, 70, 102, 98, 70, 102, 98, 71, 119, 115, 71, 119, 115, 71, 119, 115, 72, 136, 132, 72, 136, 132, 72, 136, 132, 73, 153, 149, 73, 153, 149, 73, 153, 149], "posprocessada"=>nil, "created_at"=>Thu, 05 Jul 2018 14:07:58 -03 -03:00, "updated_at"=>Thu, 05 Jul 2018 14:07:58 -03 -03:00, "n_pacote"=>1620}
{"id"=>32256, "ecg_id"=>29, "leitura"=>[170, 69, 85, 81, 69, 85, 81, 69, 85, 81, 70, 102, 98, 70, 102, 98, 70, 102, 98, 71, 119, 115, 71, 119, 115, 71, 119, 115, 72, 136, 132, 72, 136, 132, 72, 136, 132, 73, 153, 149, 73, 153, 149, 73, 153, 149], "posprocessada"=>nil, "created_at"=>Thu, 05 Jul 2018 14:07:58 -03 -03:00, "updated_at"=>Thu, 05 Jul 2018 14:07:58 -03 -03:00, "n_pacote"=>1620}
【问题讨论】:
-
你能打印实际记录(包括所有属性)而不是只打印它们的 created_at 时间吗?
-
是的,当然。会更新答案
-
哪个数据库和模型是什么样的?特别是
leitura是如何处理的?您在数据库中是否有唯一性约束?你能在你的测试套件中重现这个问题吗?
标签: ruby-on-rails activerecord