У меня проблема с полем Datetime в моем приложении Rails.У меня есть проверка, которая должна принимать действительные значения Datetime и разрешать нулевые или пустые значения (код взят из моего вопроса вчера):
include ActiveModel::Validations
class DateValidator < ActiveModel::EachValidator
def validate_each(record,attribute,value)
record.errors[attribute] << "must be a valid datetime" unless ((DateTime.parse(value) rescue nil))
end
end
validates :datetime_field :date => true, :allow_nil => true, :allow_blank => true
Однако, если установить поле datetime_field в какую-то строку, моймодель переопределяет предыдущее значение поля datetime_field и устанавливает его равным nil (в консоли rails я получаю следующее:
object.update_attributes("datetime_field" => "Now")
true
object.datetime_field.nil?
true
Как прекратить установку поля datetime на nil после обновления со строкой, и в то же время сохранитьвозможность явно очистить это поле?