Generating unique, hard-to-guess “coupon” codes

前端 未结 8 857
耶瑟儿~
耶瑟儿~ 2020-12-23 10:24

My Rails app needs to generate electronic coupons for users. Each coupon given should have a unique coupon code that can be redeemed on our system.

For example a cou

8条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-23 11:18

    Go with something like:

    class Coupon < ActiveRecord::Base
      before_save generate_token
    
      validates_uniqueness_of :token
    
      def generate_token
        self.token = "#{current_user.id}#{SecureRandom.urlsafe_base64(3)}"
      end
    
    end
    

    EDIT: Here is a better answer

提交回复
热议问题