Ruby on Rails 複数のチェックボックスで1つも選ばれていないときにエラーにするためのバリデーション
複数のチェックボックスで1つも選択されていないときにエラーになるようバリデーションの設定をする。
[環境]
Windows8
Ruby 1.9.3(p125)
Ruby on Rails 3.2.9
①モデルにアクセサメソッドを追加し、バリデーションを設定する
チェックボックスでケーキ、クッキー、チョコレートを選ばせるフォームを作成し、これらはboolean型で宣言されているものとする。
modelファイルに下記のように記述する。
attr_accessor :like validate :check_like private def check_use_account if like_cake == false && like_cookies == false && like_chocolate== false errors.add(:like, :invalid) end end
参考:Railsにて、複数あるチェックボックスが1つも選択されていなければエラーになるバリデーションを作る #Rails - Qiita