Ruby on rails 布尔类型的验证

Ruby on rails 布尔类型的验证,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,我应该为模式中具有布尔类型的属性编写任何验证吗 create_table "table_name", :force => true do |t| t.boolean "column", :default => true end 将列设置为“asdasd”在.save之后计算结果为false。我需要担心通过POST发送的任何奇怪的值(我正在为我的控制器编写更新方法)可能会导致任何危险吗?一般来说,最好进行验证,特别是如果该字段是敏感字段。如果该字段类似于启用某些重复计费检查的字段

我应该为模式中具有布尔类型的属性编写任何验证吗

create_table "table_name", :force => true do |t|
  t.boolean "column", :default => true
end

将列设置为“asdasd”在.save之后计算结果为false。我需要担心通过POST发送的任何奇怪的值(我正在为我的控制器编写更新方法)可能会导致任何危险吗?

一般来说,最好进行验证,特别是如果该字段是敏感字段。如果该字段类似于启用某些重复计费检查的字段,并且如果发送了一些随机字符串,由于默认值为true,因此它将变为true。添加验证是一件好事,因为它在Rails中非常容易:)

验证可能是一个好主意,否则您可能会得到意外的结果。这应该可以帮助您:

validates_inclusion_of :column, :in => [true, false]
这也将防止空值。如果要允许这些,请设置
:allow\u nil=>true