2010-06-08 89 views
2

記錄創建比方說,書籍的模式是:模型驗證在軌

created_at 
user_id (int) 
author_id (int) 
genre_id (int) 
pages (int) 

我想讓人們在創建記錄更改「created_at」字段。我還想確保記錄不能與任何其他記錄(即每個記錄都需要它自己的日期)具有完全相同的created_at,user_id和author_id。

什麼是最好的執行這種類型的驗證,我應該怎麼做呢?

最佳,

埃利奧特

回答

3
validates_uniqueness_of :user_id, :scope => [:author_id, :created_at] 
+1

我也願意爲你想改變,而不是使用Rails的'created_at'列中的日期添加一個單獨的列。你不會以這種方式失去任何東西,但你可能會避免大量的頭痛。 – 2010-06-08 14:03:50

+0

這是否驗證了created_at的unqiueness以及? 此外,回頭看看我同意日期,但我已經有500多條記錄使用created_at:\ – Elliot 2010-06-08 14:21:00

+0

,您可以編寫遷移以將created_at(500列)的數據複製到new_created_at。 – Vamsi 2010-06-08 14:40:15