我使用交易来保存酒店模型。这是一个代码:
def init
Hotel.transaction do
@hotel.save!
create_related_models
end
end
我在酒店的:name
进行了唯一性验证。验证在交易中不起作用。在事务中实现数据库相关验证的方法是什么?
解释为什么验证不起作用。
当用户提交表单时,请求大约需要10秒。如果他在请求期间点击另一次(在保存按钮上),那么他将保存两个具有相同名称的酒店(这是问题)。这是因为当另一个交易开始时,第一笔交易没有完成。所以当另一个开始时,数据库中没有酒店,所以验证返回true
答案 0 :(得分:1)
您需要: