2
我學到了艱辛的道路,只有當記錄通過驗證ActiveRecord如何驗證記錄已成功保存在數據庫中?
model.save
將返回true,如果有添加/在數據庫端更新模型的任何錯誤,但它仍然返回true。 因此使用
if model.save
render 'yayy'
else
render 'error'
end
是不可靠的。
是否有任何方法具有相同的功能,但只有在數據庫成功更新時才返回true,否則驗證記錄已成功保存在數據庫中的最佳方式是什麼。
(如果它很重要,我使用的是Postgres作爲數據庫)
如果數據庫在保存期間發生錯誤,那麼應該傳播回Rails並在那裏引發錯誤。有沒有發現情況並非如此?請參閱http://apidock.com/rails/ActiveRecord/Persistence/save –
當發生這種情況時,請提供可重現的示例/場景。並確保你沒有捕捉到應該中止保存並導致它返回誤報的錯誤。 –