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