Module: ActiveModel::Validations::HelperMethods
- Defined in:
- lib/simple_enum/validation.rb
Instance Method Summary collapse
-
#validates_as_enum(*attr_names) ⇒ Object
Validates an
as_enumfield based on the value of it’s column.
Instance Method Details
#validates_as_enum(*attr_names) ⇒ Object
Validates an as_enum field based on the value of it’s column.
Model:
class User < ActiveRecord::Base
as_enum :gender, [ :male, :female ]
validates_as_enum :gender
end
View:
<%= select(:user, :gender, User.genders.keys) %>
Configuration options:
-
:message- A custom error message (default: is[:activerecord, :errors, :messages, :invalid_enum]). -
:on- Specifies when this validation is active (default is always, other options:create,:update). -
:if- Specifies a method, proc or string to call to determine if the validation should occur (e.g.:if => :allow_validation, or:if => Proc.new { |user| user.signup_step > 2 }). The method, proc or string should return or evaluate to a true or false value. -
:unless- Specifies a method, proc or string to call to determine if the validation should not occur (e.g.:unless => :skip_validation, or:unless => Proc.new { |user| user.signup_step <= 2 }). The method, proc or string should return or evaluate to a true or false value.
51 52 53 |
# File 'lib/simple_enum/validation.rb', line 51 def validates_as_enum(*attr_names) validates_with AsEnumValidator, _merge_attributes(attr_names) end |