kasei_sanのブログ

かせいさんのIT系のおぼえがきです。胡乱の方はnoteとtwitterへ

validates acceptance を設定した属性は、テーブルにない場合は自動的にVirtual Attributesになる

Virtual Attributes

  • ActiveRecordの機能
  • 文字通り仮想的な属性
  • テーブルの実カラムには無いけど、エントリフォーム等に入れたい値を格納する場所

Virtual Attributes の作り方

モデルに属性をattr_accessorで追加する

  • 簡単。

Virtual Attributes の使い方

DBに格納されないだけで使い方は普通の属性と一緒

validates acceptance について

validates acceptance は、チェックボックスをONにしていない場合バリデーション失敗とする設定

-「規約に同意」とかで使う。当然DBに格納する必要は無い

validates :acceptance, acceptance: true, allow_blank: false

validates acceptance を設定した属性は、テーブルにない場合は自動的にVirtual Attributesになる

This validation is very specific to web applications and this 'acceptance' does not need to be recorded anywhere in your database
(if you don't have a field for it, the helper will just create a virtual attribute).

Active Record Validations — Ruby on Rails Guides