我正在使用rails 2.3.8,并且我有一个模型有两个我想要验证的属性。rails 2.3.8 validates_uniqueness_of with:scope not working
我有版本和文件编号,我需要在更新时验证文件编号的唯一性,但只能根据每个单独的独特版本进行验证。
所以我已经试过
validates_uniqueness_of :file_number, :scope => :version, :on => :update
我多次得到“文件号码已被占用”
没有与除在before_create文件号,我加一个没有特殊的逻辑该版本的项目数量。
编辑:这是服务器执行的SQL。 http://pastie.org/private/ysbwtiyouhgqkjsjjbooa 这里的id是我正在更新的记录的id,从查询返回的是另一个记录。
任何想法?
编辑 - 我明白了! SOLUTION:
原来的验证不看对面的为MyModel记录的选择列表这将由
为MyModel定义属于有以下的调整它的工作项目和项目的has_many为MyModel
所以。
validates_uniqueness_of:file_number,:范围=> [:版本,:PROJECT_ID]:上=>:更新