シリアル化された属性 (配列) を持つモデルがあります。配列の各メンバーが事前に決定されたオプションに含まれている場合にのみ、モデルを検証したいと思います。
例: 「mood」属性を持つ Person モデルがあります。ユーザーは複数の気分を持つことができますが、それぞれの気分は「幸せ」、「悲しい」、「疲れた」、または「怒っている」のいずれかでなければなりません。
モデルは次のようになります。
class Person < ActiveRecord::Base
MOODS = %w[happy sad tired angry]
# validates :inclusion => { :in => MOODS }
attr_accessible :mood
serialize :mood
end
コメント付きの検証は機能しません。それを機能させる方法はありますか、それともカスタム検証が必要ですか?
(注: 個別の Mood モデルを作成したくありません。)