Ruby on Rails simple_form radio验证true但不是false

时间:2014-09-03 00:53:55

标签: ruby-on-rails ruby simple-form

我使用simple_form创建了这个字段:

= f.input :is_private, label: false, :collection => [['Public', false ],['Private', true ]], :as => :radio_buttons

这是我的模型验证:

validates :is_private, presence: {:message => "Please choose public or private."}

由于某些原因,此字段仅在选择Private时才会生效,但我真的很难理解为什么会这样。感谢所有帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

值为blank?时,PresenceValidator会添加错误。当" Public"如果选中,则is_private的值设置为false。 Rails定义FalseClass#blank?返回true,这意味着它将无法通过PresenceValidator验证。