【发布时间】:2013-03-05 18:27:17
【问题描述】:
我想验证我的字段是否来自特定的类。
具体例子。我有一个必须按天唯一的模型。所以,我插入一个验证
validates :my_date_field, uniqueness: {scope: [:scope_one, :scope_two]}
如果我使用日期创建记录,则验证工作正常。但是,如果我使用 Time 创建记录(我的测试使用 Time::now),它会将其解析为 Date,但不会触发验证。
我应该如何解决它?
提前致谢。
--编辑-- 一个相关的问题:
我如何禁止某人做 MyModel::create my_date_field: 4
?它从 active_record 传递 validate_presence,从迁移传递 null: false,并在我的 date_field 中保存一个丑陋的 4。
我完全迷路了=\
【问题讨论】:
-
好吧,我使用 before_validation 解决了这个问题,我在其中手动进行了解析,或者添加了一个错误。但我会保留这个问题,等待更好的答案。不过,审核可以删除它。
标签: ruby-on-rails validation rails-activerecord