0

Rails アプリに ApiKey レコードがあります。これには、expires_at 日時列があります。

このコールバックを使用して期限切れにしようとしています:

before_find :expire_api_key
def expire_api_key
  if self.expired?
    self.destroy!  
  end
end

ただし、期限切れの ApiKey を初めて見つけようとすると、引き続きキーが返されます。find を再度呼び出した場合にのみ、 が発生しますRecordNotFound

期限切れの ApiKey を機能させることができないため、これは問題です。

4

1 に答える 1

2

自分でエラーを発生させることができます:

if self.expired?
  self.destroy!
  raise ActiveRecord::RecordNotFound
end
于 2014-02-18T12:06:44.773 に答える