Срок действия записи в 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
Другие вопросы по тегам