ActiveRecordのバリデーションを知ろう

Human Resocia Co.,Ltd.

2016-01-13 12:00

ヒューマンリソシア株式会社はコラム「ActiveRecordのバリデーションを知ろう」を公開しました。
###

# はじめに
みなさんこんにちは。塩尻オープンソースラボの小澤です。

前回はActiveRecordの関連付け(アソシエーション)を使いモデルクラス同士に関係を持たせる方法と、それに付随して発生する「N+1問題」を解説しました。

今回はActiveRecordのバリデーション(検証)を取り上げます。バリデーションもActiveRecordにおける重要な仕組みの1つです。

# バリデーション(検証)
バリデーションとは、データベースにデータを保存する前に、保存するデータが妥当かを検証する仕組みです。Railsではバリデーションを簡単に利用できるようビルトインヘルパーが用意されていますが、独自のバリデータやバリデーションメソッドを作成することもできます。

バリデーションは、モデルクラスに対して次のようなメソッドを呼び出したときに自動的にトリガ(実行)されます。

– create, create!

– save, save!

– update, update!

!がついたcreate!などの破壊的メソッドでは、バリデーションエラーが起きると例外が発生します。一方、!がつかない非破壊メソッドでバリデーションエラーが起きた場合、saveとupdateはfalseを返し、createは単にそのオブジェクトを返します。

なお、newメソッドはオブジェクトを作成するだけのメソッドですので、バリデーションはトリガされません。

また、バリデーションは実行させたいがデータベースには保存しない、といったデータを扱うクラスでは、次のいずれかのモジュールをincludeし、valid?メソッドを呼び出すことで、任意のタイミングでバリデーションのみを実行することができます。

この続きは以下をご覧ください
(リンク »)
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

【企業の皆様へ】企業情報を掲載・登録するには?

御社の企業情報・プレスリリース・イベント情報・製品情報などを登録するには、企業情報センターサービスへのお申し込みをいただく必要がございます。詳しくは以下のページをご覧ください。

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    ISMSとPマークは何が違うのか--第三者認証取得を目指す企業が最初に理解すべきこと

  2. セキュリティ

    情報セキュリティに対する懸念を解消、「ISMS認証」取得の検討から審査当日までのTo Doリスト

  3. 運用管理

    IT管理者ほど見落としがちな「Chrome」設定--ニーズに沿った更新制御も可能に

  4. セキュリティ

    従来型のセキュリティでは太刀打ちできない「生成AIによるサイバー攻撃」撃退法のススメ

  5. セキュリティ

    シャドーITも見逃さない!複雑化する企業資産をさまざまな脅威から守る新たなアプローチ「EASM」とは

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]