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. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

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

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

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