0
我使用交易来保存Hotel模型。这里是一个代码:与交易的唯一性验证
def init
Hotel.transaction do
@hotel.save!
create_related_models
end
end
我在酒店有:name
唯一性验证。验证在事务内不起作用。在交易中实施与数据库相关的验证的方式是什么?
解释为什么验证不起作用。
当用户提交表单时,请求大约需要10秒钟。如果他在请求期间点击另一个时间(在保存按钮上),则他将保存两个同名的酒店(这是问题)。这是因为第一笔交易未完成,另一笔交易开始时。因此,当另一开始出现在数据库中没有酒店,以便确认返回真
我想添加锁定机制,但结果太困难了。感谢所有解决方案。目前我添加了javascript按钮块,但我也会实现你的第一个解决方案(约束和处理错误) –