我有一個模型使用'active'標誌來軟刪除項目而不是銷燬它們。該模型具有「名稱」屬性,該屬性在活動項目中必須是唯一的。我試圖用conditions
修改器與validates_uniqueness_of
,但它似乎仍然檢查活動和非活動項目的唯一性。我究竟做錯了什麼?Rails:validates_uniqueness_of條件不按預期工作
class Foo < ActiveRecord::Base
attr_accessible :name, :active
validates_uniqueness_of :name, conditions: -> { where(active:true) }
end
做這樣的事情唯一的問題是當你然後想重新激活一個不活動的Foo,但你不能,因爲它將是無效的。 – sevenseacat