ActiveRecord のバリデーション
require 'active_record'
ActiveRecord::Base.establish_connection(
adapter: "mysql2",
host: "localhost",
username: "root", # ユーザー名
password: "", # MySQLのパスワード
database: "sample", # 接続するDB名
encoding: "utf8",
ssl_mode: "disabled"
)
class User < ActiveRecord::Base
validates :mail, presence: true
validates :password, presence: true
end
@user = User.new(mail: "", password: "")
@user.save
p @user.errors.full_messages
#=< ["Mail can't be blank", "Password can't be blank"]
バリデーションを引き起こし、問題ない場合のみデータベースに保存されるようにするには、以下のメソッドを使用します。
- create
- create!
- save
- save!
- update
- update!