根據。已棄用`validates_presence_of`(從Rails 3開始)?
但是,在the documentation (for v4.0.2)中我看不到這一點。
這是發行說明中的錯誤/是否重新預先排除/文檔錯誤?
根據。已棄用`validates_presence_of`(從Rails 3開始)?
但是,在the documentation (for v4.0.2)中我看不到這一點。
這是發行說明中的錯誤/是否重新預先排除/文檔錯誤?
的方法仍然存在,但由於導軌3中,在一個稍微不同的命名空間比以前所定義。
的Rails 3之前:
ActiveModel::Validations::ClassMethods#validates_presence_of
由於導軌3:
ActiveRecord::Validations::ClassMethods#validates_presence_of
ActiveModel::Validations::HelperMethods#validates_presence_of
我不得不看起來非常近距離地看到差異。
結論:只要繼續使用validates_presence_of
!
這是一個軟貶低。兩種語法仍然存在,但validates
是更新和'首選'。
你能解釋爲什麼它是更新和'首選'? – zwippie
好吧,它更新,因爲它是在其他語法之後引入的。這可能是首選,因爲它允許您將驗證組合到一個調用中 - 而不是'validates_presence_of:foo,validates_inclusion_of:foo,validates_length_of:foo'等。您可以只驗證:foo,presence:true,inclusion:{in :[whatever]},長度:{maximum:3}'... – sevenseacat
猜猜他們改變了主意。 –