【发布时间】:2015-09-03 14:34:25
【问题描述】:
我似乎无法创建以下模型:
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
然后当我进入 rails 控制台并尝试创建新规则时:
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"]}>
【问题讨论】:
标签: ruby-on-rails enums