Срок действия записи в Rails
У меня есть запись ApiKey в моем приложении Rails. У него есть столбец dateires expires_at.
Я пытаюсь использовать этот обратный вызов, чтобы истечь его:
before_find :expire_api_key
def expire_api_key
if self.expired?
self.destroy!
end
end
Однако, в первый раз, когда я пытаюсь найти истекший ApiKey, он все равно возвращает ключ. Только если я позвоню найти снова это поднимет RecordNotFound
,
Это проблематично, потому что я не могу позволить просроченным ApiKeys работать.
1 ответ
Вы можете вызвать ошибку самостоятельно:
if self.expired?
self.destroy!
raise ActiveRecord::RecordNotFound
end