如何使用Rails 3验证基于两个值对uniquenuess进行范围划分?

时间:2012-04-18 20:25:00

标签: ruby-on-rails ruby-on-rails-3

我有一个名为Replay的模型,它有3个属性,match_id,game_number和uploader_id。从本质上讲,我希望通过验证来强制上传者不会为与该游戏已经为该匹配上传的重播相同的游戏编号上传重播。但是,我希望其他用户能够上传该匹配和游戏号码的重播。

我现在使用的验证是:

validates :game_number, presence: true, uniqueness: { scope: :match_id }

但这并未考虑uploader_id。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:4)

试试这个:

validates :game_number, presence: true, uniqueness: { scope: [:match_id, :uploader_id] }