我正在使用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]:上=>:更新