DBに保存しないモデルを定義したいときってありますよね?
そんなときは↓のようにActiveRecord::Base、rails5だとApplicationRecordを継承せずにクラス定義します。
class Book
attr_accessor :title, :price, :page
end
でも「railsの機能のバリデーションのメソッドを使って、バリデーションを使いたいなー」というとき、どこをincludeすればいいんだろう?ってなりません?
class Book
attr_accessor :title, :price, :page
include ActiveRecord::Validations
include ActiveRecord::Reflection
validates :title, presence: true
validates :price, presence: true
validates :page, presence: true
end
↑のように ActiveRecord::ValidationsとActiveRecord::Reflectionをincludeするとvalid?が使えるようになります。
book = Book.new
book.price = 567
book.valid?(true)