私はRailsにかなり慣れておらず、このテーマに関するいくつかのリソースを読んでいました。そして、私はそれについていくつか質問を受けました。さて、いくつかの属性の一意性を検証するモデルがあるとしましょう。
class User < ActiveRecord::Base
attr_accesible :name
validates :name, uniqueness: true
end
したがって、私は今、同じ名前の2つのUserインスタンスをデータベースに作成(またはより正確には保存)できないことを合理的に期待しています。ただし、このリソースは、それがまだ可能であると主張しています!
- 一部のユーザーはサインインします。
- [サインイン]ボタンを複数回クリックする
- リクエスト1はメモリ内にユーザーを作成します(有効)
- リクエスト2はメモリ内にユーザーを作成します(有効)
- リクエスト1は正常に保存されました
- リクエスト2は正常に保存されました
そして後で、このソースはデータベースのインデックスを「名前」列に追加して一意にすることをお勧めします。
しかし、前に述べたように、保存手順で検証が行われる場合、2番目の要求を保存するにはどうすればよいでしょうか。または私は何かを失った?
(私が言及したリソースはRailsチュートリアルです