40
在Rails 2.x中,您可以使用驗證,以確保你有這樣一個獨特的組合值:的Rails 3:驗證組合值
validates_uniqueness_of :husband, :scope => :wife
在相應的遷移也可能是這樣的:
add_index :family, [:husband, :wife], :unique => true
這將確保丈夫/妻子的組合在數據庫中是唯一的。現在,在Rails 3中,驗證語法發生了變化,範圍屬性似乎消失了。它現在看起來像:
validates :husband, :presence => true
任何想法如何我可以在Rails 3中實現組合驗證? Rails 2.x驗證在Rails 3中仍然有效,所以我仍然可以使用第一個示例,但看起來如此「古老」,有沒有更好的方法?
我只是證實了這一點適用於我自己的應用程序。 – epochwolf 2010-03-28 17:44:06
這聽起來很棒,很乾淨,除了......它在我嘗試過的「一個模型項目」示例中不起作用。你們有沒有做特別的事情?我使用了2個字符串,並嘗試了2個整數,但驗證通過。 – Cimm 2010-03-30 14:17:14
我正在使用'validates:contents,:presence => true,:uniqueness => {:scope =>:comment_thread_id,:message =>「已經說過了,請添加一些有意義的內容」} – epochwolf 2010-03-30 17:38:55