我沒有在網上找到任何好的示例,所以我問一個簡單的問題,我期望得到一個簡單的答案。要溫柔。 :)使用模型進行自定義驗證:保存失敗
我有一個Post模型。
p = Post.find(1)
p.title = "This is the Title of this Article"
p.url_title = "this-is-the-title-of-this-article--created-by-user-name"
當郵政創建後,我創建:url_title基於標題。這就是我在數據庫中關閉它的方式,而不是公開那些無聊和不具描述性的ID。
我在before_save中構建了這個url_title,這就是爲什麼我不能簡單地使用'validates_uniqueness_of',因爲它看起來像驗證在before_save開始之前完成,並且有一個:url_title來驗證。
所以,我需要確保:url_title是唯一的。我追加了「--created-by - #{p.user.name}」以允許來自不同用戶的多個相同標題的使用。
所以,我需要做的是自定義驗證,確認:url_title在保存前是數據庫唯一的,如果它不是唯一的,則會引發錯誤並通知用戶。
有關最佳方式的想法? '
哎呀。我忽略了一個重要部分。看到我修改後的帖子。 – 2010-12-19 17:40:49