跳至内容 跳至搜索
方法
F

实例公共方法

find_by_token_for(purpose, token)

使用给定的 token 和预定义的 purpose 查找记录。如果 token 无效或未找到记录,则返回 nil

# File activerecord/lib/active_record/token_for.rb, line 41
def find_by_token_for(purpose, token)
  raise UnknownPrimaryKey.new(self) unless model.primary_key
  model.token_definitions.fetch(purpose).resolve_token(token) { |id| find_by(model.primary_key => [id]) }
end

find_by_token_for!(purpose, token)

使用给定的 token 和预定义的 purpose 查找记录。如果 token 无效(例如过期、格式错误等),则会引发 ActiveSupport::MessageVerifier::InvalidSignature 错误。如果 token 有效但未找到记录,则会引发 ActiveRecord::RecordNotFound 错误。

# File activerecord/lib/active_record/token_for.rb, line 50
def find_by_token_for!(purpose, token)
  model.token_definitions.fetch(purpose).resolve_token(token) { |id| find(id) } ||
    (raise ActiveSupport::MessageVerifier::InvalidSignature)
end