2016-11-09 35 views

回答

2

它是預期的行爲。

ActiveRecord::Persistence#update

從更新傳入的散列並保存 記錄模式,都包裹在一個事務的屬性。 如果該對象無效,則 保存將失敗並返回false將返回

此外別名爲:update_attributes

要跳過驗證的選項之一將使用update_attribute

更新單個屬性,並保存記錄。這對於現有記錄上的布爾標誌尤其有用 。還請注意,

驗證被跳過。

回調被調用。

updated_at/updated_on如果該列可用,則更新該列。

更新此對象中髒的所有屬性。

如果屬性 標記爲只讀,則此方法將產生ActiveRecord::ActiveRecordError。請參閱update_column

另一種選擇是通過validate: false作爲參數。

+0

謝謝你,但是當我創建這個對象時,我的密碼是有效的,爲什麼當我更新這個對象時它是無效的? – junk

+0

@junk我沒有絲毫的線索。如果Rails說它是無效的 - 它是無效的。看到它給你的錯誤信息。也許密碼很薄弱。 –

+1

@junk你的問題是關於射擊驗證,我回答了:) –

相關問題