使用令牌计算api调用

时间:2014-02-19 09:26:50

标签: ruby-on-rails api authentication token

我试图创建一个需要令牌才能使用的api。每次调用页面时,我都会检查控制器中是否存在此before_filter的令牌:

            def restrict_access_token
                authenticate_or_request_with_http_token do |token, options|
                    ApiKey.exists?(access_token: token)
                end
            end

当找到apikey时,我想增加ApiKey表中的count列。

我正在寻找模型中的回调,该回调在找到apikey时触发但在这种情况下似乎不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在您的模型中,您需要覆盖exists?方法

def self.exists?(conditions = :none)
  if super
    ...{YOUR CALLBACK}...
  end
end

更新: 我更愿意像find_and_increment(...)一样自定义您的方法。所以在模型中:

def self.find_and_increment(conditions = :none)
  if object = where(conditions).first
    object.increment!(...)
  end
end