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 · 最終更新: 2018/12/20 16:06 by nullpon