2011-06-28 64 views
2

我應該在模式中爲屬性類型布爾型寫入任何驗證嗎?布爾類型驗證

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

將.asave設置爲「asdasd」後,計算結果爲false。需要關注通過POST發送的任何奇怪值(我正在爲控制器寫更新方法)可能導致任何危險?

回答

0

一般來說,最好進行驗證,特別是如果該字段是敏感字段。如果該字段類似於一個字段,可以啓用一些經常性計費檢查,並且發送一些隨機字符串,因爲您的默認值爲true,將成爲現實。考慮到它在Rails中更容易,添加驗證是件好事:) :)

1

驗證可能是一個好主意,否則您可能會得到意想不到的結果。這應該是你:

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

這也將防止空值。如果你想允許這些,請設置:allow_nil => true