布尔类型的验证

时间:2011-06-28 11:10:52

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我应该为我的架构中具有 boolean 类型的属性编写任何验证吗?

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

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

2 个答案:

答案 0 :(得分:1)

验证可能是一个好主意,否则您可能会得到意想不到的结果。这应该是你:

validates_inclusion_of :column, :in => [true, false]

这也会阻止空值。如果您想允许这些,请设置:allow_nil => true

答案 1 :(得分:0)

一般情况下,最好验证一下,特别是如果该字段是敏感字段。如果该字段就像一个字段,可以启用一些周期性计费检查,如果发送了一些随机字符串,由于您的默认值为true,它将成为现实。添加验证是一件好事,考虑到它在Rails中更容易:)