如何将某些验证应用于在特定时间创建的对象?

时间:2014-06-19 19:10:01

标签: ruby-on-rails ruby

我的模型中有以下验证:

validates :price, :numericality => { :greater_than => 0 }, :unless => :free?

如何才能将此验证应用于2014年6月6日之后创建的对象?

该对象具有created_at属性,其格式如下:2014-06-19 17:44:27

1 个答案:

答案 0 :(得分:2)

您可以在lambda

选项中使用validates

validates :price, :numericality => { :greater_than => 0 }, if: -> { self.created_at > Date.parse('2014-06-19').beginning_of_day }

另外,请确保正确处理TimeZone。