我在模型上使用枚举:
enum status: [:pending, :approved]
我在模型中有一个唯一性验证,如下所示:
validates :item_id, uniqueness: { scope: :user_id, conditions: -> { where(status: :approved) }, message: "You already have this item." }
这不起作用。它仅在我将:approved
更改为1
时才有效。当我能做Item.first.update_attributes(status: :approved)
这样的事情时,我很困惑为什么我不能在这里使用状态名称,而且工作正常。