我对 Rails 很陌生,并且正在阅读有关该主题的一些资源。我有一些问题。好的,假设我们确实有一个模型,可以验证某些属性的唯一性:
class User < ActiveRecord::Base
attr_accesible :name
validates :name, uniqueness: true
end
因此,我现在有理由期望,我将无法在数据库中创建(或更准确地说——保存)两个具有相同名称的 User 实例。但是,该资源确实坚持认为它仍然是可能的!
- 一些用户登录。
- 多次点击“登录”按钮
- 请求1在内存中创建用户(有效)
- 请求 2 在内存中创建用户(有效)
- 请求 1 保存成功
- 请求 2 保存成功
后来这个来源建议将数据库中的索引添加到“名称”列并使其唯一。
但是,如果正如我之前所说的那样——在保存过程中进行验证,那么如何保存第二个请求呢?还是我失去了什么?
(我提到的资源是Rails 教程