【发布时间】:2016-07-29 00:38:18
【问题描述】:
我在模型上使用枚举:
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) 之类的操作并且它工作正常时,为什么我不能在这里使用状态名称,我对此感到困惑。
【问题讨论】:
标签: ruby-on-rails activerecord enums