Ruby on rails 如何将某些验证应用于在特定时间创建的对象?
我的模型中有以下验证:Ruby on rails 如何将某些验证应用于在特定时间创建的对象?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的模型中有以下验证: validates :price, :numericality => { :greater_than => 0 }, :unless => :free? 如何仅将此验证应用于2014年6月6日之后创建的对象 对象有一个在处创建的属性,其格式如下:2014-06-19 17:44:27您可以在验证的除非/如果选项中使用lambda: validates :price, :numericality => { :greater_than => 0
validates :price, :numericality => { :greater_than => 0 }, :unless => :free?
如何仅将此验证应用于2014年6月6日之后创建的对象
对象有一个在处创建的属性,其格式如下:
2014-06-19 17:44:27
您可以在验证的除非/如果选项中使用lambda
:
validates :price, :numericality => { :greater_than => 0 }, if: -> { self.created_at > Date.parse('2014-06-19').beginning_of_day }
此外,请确保时区已正确处理