簡體   English   中英

在Rails中為現有模型添加驗證

[英]Adding validations to existing model in Rails

我想在Rails中為模型添加一個:presence和:uniqueness validation。 我正在使用MongoDB和Mongoid gem。

我有一個已經在使用的模型,並且在DB中有現有記錄。 我想添加一個新的:字段,然后添加驗證:存在和:字段的唯一性。

我知道默認情況下,任何現有記錄都只會添加:field,結果將為null,除非我指定:default。

我的問題是,既然我希望這個新的:字段是唯一的,這會導致DB中現有記錄的錯誤是否為空? 我是否會丟失這些記錄,或者Rails是否只將驗證應用於新記錄?

Rails / AciveRecord不會忽略或刪除您的舊記錄......

驗證的工作方式如下:僅在嘗試將內容寫入數據庫時​​使用/檢查它們,例如,當您創建新記錄或更新記錄時。 因此,在您嘗試更新舊記錄時,如果不添加新的必填字段,則會出現驗證錯誤。

我建議您在添加新字段時嘗試清理數據庫(意味着為新的必填字段添加舊記錄的合理默認值)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM