rails:validation
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| rails:validation [2018/12/20 16:06] – 作成 nullpon | rails:validation [2018/12/21 02:21] (現在) – [uniqueチェック] nullpon | ||
|---|---|---|---|
| 行 5: | 行 5: | ||
| ==== uniqueチェック ==== | ==== uniqueチェック ==== | ||
| - | Railsはデフォルトで大文字小文字を区別するが、MySQLはデータの大文字小文字を区別しないため、hogeというユーザがいる時にHOGEを作ろうとすると、Railsはuniquenessバリデーションをパスし、MySQLはuniqueキー制約でエラーになる。 | + | uniqueness |
| - | + | ||
| - | Railsもvalidation時に大文字小文字を区別しないようにするため、 | + | |
| < | < | ||
| - | | + | class User < ActiveRecord:: |
| + | validates | ||
| </ | </ | ||
| とする。 | とする。 | ||
| + | 例えばMySQLにnameがHOGEのレコードがあり、Usersテーブルのnameカラムにはuniqueキーがあるとき、nameがhogeというユーザを作ろうとすると | ||
| - | Railsも | + | * Railsは大文字小文字を区別するので hoge は一意性制約チェックをパスする |
| + | * MySQLは大文字小文字を区別しないので hoge は一意性制約によりinsertが失敗して500エラーとなる | ||
rails/validation.1545321972.txt.gz · 最終更新: by nullpon