I am creating anonymous guest users which are persistent during the time they are connected to the site or until they sign up and become a member user ...
this add a lot of anonymous user records in the DB and I wonder how to purge them ? should I run a cron script regularly or is there another way to do it ?
thanks for feedback
I have in my application_controller :
# if user is logged in, return current_user, else return guest_user def current_or_guest_user if current_user if session[:guest_user_id] logging_in guest_user.destroy session[:guest_user_id] = nil end current_user else guest_user end end
# find guest_user object associated with the current_session, creating one if needed def guest_user User.find( session[:guest_user_id].nil? ? session[:guest_user_id] = create_guest_user.id : session[:guest_user_id] ) end
def create_guest_user u = User.new(email: "guest_#{Time.now.to_i}#{rand(99)} @example.com") u.confirmed_at = Time.now u.save(:validate => false, :confirm => false) u end