サーチ…


備考

ActiveModelは、ActiveRecordのモデル動作を別の懸念事項に抽出するために作成されました。これにより、ActiveRecordモデルだけでなく、どのオブジェクトでもActiveModelの動作を使用できます。

ActiveRecordオブジェクトには、デフォルトでこの動作がすべて含まれています。

ActiveModel :: Validationsの使用

普通のルビーであっても、あらゆるオブジェクトを検証することができます。

class User
  include ActiveModel::Validations

  attr_reader :name, :age

  def initialize(name, age)
    @name = name
    @age  = age
  end

  validates :name, presence: true
  validates :age, numericality: { only_integer: true, greater_than: 12 }
end
User.new('John Smith', 28).valid? #=> true
User.new('Jane Smith', 11).valid? #=> false
User.new(nil, 30).valid?          #=> false


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow