Validates inclusion of include fails at plugin.



TYPES = { "type1" => 1 , "type2" => 2, "type3" => 3 }.freeze
validates_inclusion_of :my_type, :in => TYPES.keys

The validations attribute is kept in sync by the various macros (validates* and validates itself), but it is NOT the mechanism used to actually do the validation - that’s handed off to the callbacks stuff (which also handles :on, :if, and :unless criteria).

This post seems closer to what you’re intending:

But I’d recommend thinking more about what the intent actually is - if you’re trying to override the list of possible types in a subclass, it would make more sense to have an explicit validator that asks the class for the correct set of types to be used.

–Matt Jones

Thank You Matt. I was not aware of this. This helped me solve my
The "sub class" idea is a good one, did not occur to me at all. :frowning: