我只是想找一条优雅的线,可以验证我的表中的starts_at字段。它只需要验证表单中的starts_at字段是否大于当前时间,欢呼。
validates :starts_at, starts_at >= Time.now?
答案 0 :(得分:4)
您可以为此构建自定义验证。类似的东西:
class ModelName < ActiveRecord::Base
validate :time_is_in_future
def time_is_in_future
if starts_at < Time.now
errors.add(:starts_at, "starts_at must be in the future")
end
end
end
请参阅:http://guides.rubyonrails.org/active_record_validations.html#custom-validators
答案 1 :(得分:1)
我正在使用&#39; validates_timeliness&#39;有效的时间验证而不是硬代码。
gem 'validates_timeliness', '~> 3.0'