aar*_*ona 111 validation ruby-on-rails
rails是否有像validates_numericality_of
boolean 那样的验证器,还是需要自己滚动?
Dre*_*ams 237
从Rails 3开始,您可以:
validates :field, inclusion: { in: [ true, false ] }
Run Code Online (Sandbox Code Playgroud)
Bud*_*gie 38
我相信对于布尔字段,您需要执行以下操作:
validates_inclusion_of :field_name, :in => [true, false]
Run Code Online (Sandbox Code Playgroud)
从旧版本的API:"这是由于Object#blank的方式?处理布尔值.false.blank?#=> true"
我不确定这对Rails 3是否仍然没问题,希望有所帮助!
小智 10
当我申请时,我得到:
来自shoulda-matcher的警告:
您正在使用validate_inclusion_of
断言布尔列允许布尔值而不允许非布尔值.请注意,无法对此进行全面测试,因为布尔列会自动将非布尔值转换为布尔值.因此,您应该考虑删除此测试.
您可以使用较短的版本:
validates :field, inclusion: [true, false]
Run Code Online (Sandbox Code Playgroud)
额外的想法。在处理枚举时,我也喜欢使用常量:
KINDS = %w(opening appointment).freeze
enum kind: KINDS
validates :kind, inclusion: KINDS
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
42496 次 |
最近记录: |