在Rails中失效记录

时间:2014-02-18 12:01:40

标签: ruby-on-rails ruby api rails-api

我的Rails应用程序中有一个ApiKey记录。它有一个expires_at日期时间列。

我正在尝试使用此回调来过期它:

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

但是,我第一次尝试找到过期的ApiKey时,它仍会返回密钥。只有当我再次打电话给它时,它才会提升RecordNotFound

这是有问题的,因为我不能让过期的ApiKeys工作。

1 个答案:

答案 0 :(得分:2)

您可以自行提出错误:

if self.expired?
  self.destroy!
  raise ActiveRecord::RecordNotFound
end