【发布时间】:2014-04-02 14:08:43
【问题描述】:
我有一个 Ticket 模型,对字符串属性 ticket_number 进行基本唯一性验证
validates :ticket_number, uniqueness: true
这是ticket_number的输入代码
<%= f.number_field :ticket_number, :value => @ticket.ticket_number || (Ticket.exists? ? Ticket.maximum(:ticket_number).next) : 1 , :class => 'form-control' %>
验证似乎按预期工作,但是当我们部署应用程序并且可能有多个用户同时输入 tickets 时,这应该不会导致问题(对吗?)我们发现重复记录(相同票号)在数据库(MySQL)中。
到目前为止,总共 600 多张票中只发生过一次,但为什么以及如何防止这种情况发生?
【问题讨论】:
标签: mysql ruby-on-rails