我应该为我的架构中具有 boolean 类型的属性编写任何验证吗?
create_table "table_name", :force => true do |t|
t.boolean "column", :default => true
end
将列设置为“asdasd”在.save之后计算为false。需要关注通过POST发送的任何奇怪的值(我正在为我的控制器编写更新方法)可能导致任何危险吗?
答案 0 :(得分:1)
验证可能是一个好主意,否则您可能会得到意想不到的结果。这应该是你:
validates_inclusion_of :column, :in => [true, false]
这也会阻止空值。如果您想允许这些,请设置:allow_nil => true
。
答案 1 :(得分:0)
一般情况下,最好验证一下,特别是如果该字段是敏感字段。如果该字段就像一个字段,可以启用一些周期性计费检查,如果发送了一些随机字符串,由于您的默认值为true,它将成为现实。添加验证是一件好事,考虑到它在Rails中更容易:)