我的Rails应用程序中有一个ApiKey记录。它有一个expires_at日期时间列。
我正在尝试使用此回调来过期它:
before_find :expire_api_key
def expire_api_key
if self.expired?
self.destroy!
end
end
但是,我第一次尝试找到过期的ApiKey时,它仍会返回密钥。只有当我再次打电话给它时,它才会提升RecordNotFound
。
这是有问题的,因为我不能让过期的ApiKeys工作。
答案 0 :(得分:2)
您可以自行提出错误:
if self.expired?
self.destroy!
raise ActiveRecord::RecordNotFound
end