我有一个基于范围的唯一性验证模型(我正在使用Rails 5):
gss30
即使进行了验证,我也注意到对于同一validates_uniqueness_of :n_pacote, scope: :ecg_id
重复的n_pacote
值。我还注意到它们几乎是同时创建的:
ecg_id
它们是通过可能被多次调用的api调用创建的。我该如何解决?预先感谢
编辑:
这是3条记录的所有属性,这些3条记录的相同[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]
的值具有相同的n_pacote
:
ecg_id
答案 0 :(得分:1)
我面临类似的问题,但是后来我使用数据库级别的唯一性来避免这一问题。当涉及到唯一性时,Rails验证并不是100%可靠。
为了安全起见,请将此验证添加到您的数据库(MySQL ex)上。
add_index :table_name, [:n_pacote, :ecg_id], unique: true