We sometimes need unique and random tokens in our web apps. Here is how we typically build it. 1class User < ActiveRecord::Base 2 3 before_create :set_access_token 4 5 private 6 7 def set_access_token 8 self.access_token = generate_token 9 end 10 11 def generate_token 12 loop do 13 token = SecureRandom.hex(10) 14 break token unless User.where(access_token: token).exists? 15 end 16 end 17endCopy
![has_secure_token for unique random token in Rails 5](https://cdn-ak-scissors.b.st-hatena.com/image/square/df7dcf3e382d2d4b018ba79fc6642260e3fa7070/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fdpc4i4bdx%2Fimage%2Fupload%2Fbigbinary_blogs%2Fdefault_blog_image.png)