傑克達與瑞兒絲的大小事

快速筆記整理網站開發上碰到的各種技巧和問題,免得年紀大忘光,至少還有一個地方可以查找

ActiveRecord 新增操作的 create 和 create! 二者差別

雖然這是基本觀念,不過有時還是會分不清這二者的差別和使用時機,還是筆記一下吧!

以下的資料來源均摘錄於 ihower – Ruby on Rails 實戰聖經 ActiveRecord 該篇的內容說明

二者差異:

create 和 create! 就等於 new 完就 save 和 save!,有無驚嘆號的差別在於 validate 資料驗證不正確的動作
無驚嘆號版本會回傳布林值(true或false)
有驚嘆號版本則是驗證錯誤會丟出例外

使用時機:

何時使用驚嘆號版本呢?
save 和 create 通常用在會處理回傳布林值(true/false)的情況下 (例如在 controller 裡面根據成功失敗決定 render 或 redirect),否則預期應該會儲存成功的情況下,請用 save! 或 create! 來處理,這樣一旦碰到儲存失敗的情形,才好追蹤 bug。

參考文章:

http://ihower.tw/rails3/activerecord.html

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: