我有一组作者,每个作者都有一个唯一的名字。这种唯一性验证非常简单。
每位作者都应该有很多故事,每个故事都要求作者必须具有独特的标题。因此,只要两个故事由不同的作者撰写,那么两个故事具有相同的标题是完全合法的。同一作者共享一个标题的两个故事是非法的。
我无法使用validates :title, :uniqueness=>true
,因为我不能拥有两位不同作者共享的相同标题。我是否需要编写一个自定义验证器来迭代作者的每个标题,或者有更好的选择吗?
答案 0 :(得分:1)
在唯一性验证器上使用范围选项:
validates :title, uniqueness: {scope: :author_id}