0
我似乎無法創建以下模型:Rails的驗證枚舉
class Rule < ActiveRecord::Base
belongs_to :product
enum comparator: [:eq, :gt, :gteq, :lt, :lteq, :not_eq, :in, :matches]
validates :key, presence: true
validates :value, presence: true
validates :comparator, inclusion: { in: [:eq, :gt, :gteq, :lt, :lteq, :not_eq, :in, :matches]}
end
然後,當我進入軌道控制檯,並嘗試創建一個新的規則:
rule = Rule.new(key: "key", value: "value", comparator: :gteq)
我得到的以下輸出:
=> #<Rule:0x007ff92a4de8f8
id: nil,
key: "key",
value: "value",
comparator: 2,
default: false,
context_id: nil,
created_at: nil,
updated_at: nil>
看起來像該對象是有效的。但後來我運行rule.valid?
,它返回false。 rule.errors
回報:
#<Rule:0x007ff92a4de8f8
id: nil,
key: "key",
value: "value",
comparator: 2,
default: false,
context_id: nil,
created_at: nil,
updated_at: nil>,
@messages={:comparator=>["is not included in the list"]}>