モデルは一番上のを使えば十分だ、とか書いてある。こんなので済んだためしがないけど、使い方が良くないんだろうか。modelのクラスレベルで呼ぶメソッド。:maximum=>30validates_uniquness_ofSQLを発行して、テーブルに重複した値を持つデータが無いかを確認する。:email同じemailは2つ無い。:name1つのnameに対して、同じemailは2つ無い。:email1つのemailに対して、同じnameは2つ無い。emailとnameの組が重複しないというのと同じ。birthdayの組に対して、同じemailは2つない。みたいなSQLを実行して確認していた。データの一意性を保証したいときはテーブルにuniqueインデックスを追加する。truevalidate_uniqueness_ofを使うと、unique制約の違反で例外が出るよりも前にエラーを検知できる。2:...みたいな例外を処理するのと、1回多くSELECTするの、どっちがいいか。case.なので例外は自力でパースしなければならない。validates_uniqueness_ofを設定しても例外が発生する可能性はある。選択肢は、validates_uniqueness_ofを使いつつ、例外もチェックする。