rails:validation
Validation
メモ
uniqueチェック
uniqueness validation は case_sensitive を false
class User < ActiveRecord::Base validates :name, uniqueness: { case_sensitive: false }
とする。
例えばMySQLにnameがHOGEのレコードがあり、Usersテーブルのnameカラムにはuniqueキーがあるとき、nameがhogeというユーザを作ろうとすると
- Railsは大文字小文字を区別するので hoge は一意性制約チェックをパスする
- MySQLは大文字小文字を区別しないので hoge は一意性制約によりinsertが失敗して500エラーとなる
rails/validation.txt · 最終更新: 2018/12/21 02:21 by nullpon