我正在使用ahoy电子邮件gem进行电子邮件分析。对于跟踪电子邮件,它们只是
@ahoy_message = AhoyEmail.message_model.new
ahoy_message.token = generate_token
generate令牌方法就像
def generate_token
SecureRandom.urlsafe_base64(32).gsub(/[\-_]/, "").first(32)
end
我怀疑生成的令牌中可能有重复项,我可以每次检查生成的令牌是否唯一,因此我试图更改令牌生成方法,如下所示,
def generate_token
URI.escape(Base64.encode64 "#{Time.now.to_f},#{@mail.id}") # @mail is object in db
end
默认方法是否还可以,否则我可以使用与时间相关的方法来创建唯一令牌吗?
答案 0 :(得分:0)
您可以使用has_secure_token
为模型的属性自动生成令牌。