我有一个
的模型attr_accessible :name, :activity
validates :name, uniqueness: { scope: :activity }
它可以工作,不允许创建重复的条目。但是对于simple_form,它只显示:name
字段上的错误。我希望它在两个字段都有错误,说这个'名称'和'活动'组合已经被采用。
我想我需要创建一个自定义验证方法,但我希望到目前为止我还忽略了一个更优雅的解决方案。
有没有办法在这两个字段上显示错误?
答案 0 :(得分:1)
您可以在:activity上添加另一个验证,以便它也被标记为重复:
validates :activity, uniqueness: { scope: :name }
我不确定这是最优雅的解决方案,但它会为您节省自定义验证方法。
答案 1 :(得分:0)
我最终做了
validates :name, uniqueness: { scope: :activity, message: 'This name and activity combination has already been taken.' }
我还没有决定是否要对它们进行验证并将消息放在这两个字段上,但:activity
字段的相反情况将是相同的。