黒縁眼鏡は海を飛ぶ

IT中心にそこはかとなく

ActiveRecordを使う上で便利ないくつかのこと

パーフェクトRubyを読んでいて、ActiveRecordを単体で扱うサンプルアプリがあったのでメモ。

パーフェクトRuby (PERFECT SERIES 6)

パーフェクトRuby (PERFECT SERIES 6)


scope

共通的に使うクエリをscopeとして定義できます。

class Example < ActiveRecord::Base
  scope :example_scope, ->(example) { where(id: example) }
end

Example.example_scope(3) # => idが3のレコードを取得


validates

データの登録や更新を行う際に値をチェックできます。

class Example < ActiveRecord::Base
  validates :id, numericality: true # => idには数値しか許さない
end

validatesに指定できるhelpersは以下のようなものがあります。

名称 説明
:presence 空文字とスペースのみの値を弾く
:length オプションで指定した条件を満たさない長さの入力を弾く
:inclusion オプションで指定した値以外の入力を弾く


謝辞