Rails Model で has_many 定義した要素数を validate する方法
実装例
class Kuso < ActiveRecord::Base has_many :unchis validate: buriburi_unchis def buriburi_unchis errors.add(:unchis, "oops!") if unchis.size > 1 end end
ポイントは unchis.size。
以前記事にした
Railsで階層化された複数モデルに対応するフォームの作り方 - Shred IT!!!!
のようにフォームからのパラメーターを利用したい場合は size メソッドを使うこと。
count メソッドにしてしまうと、DB に接続してレコード数をカウントしてしまう。
逆に DB のレコード数が欲しければ count でいい。