module Slug extend ActiveSupport::Concern included do before_create :generate_uid end def to_param [self.title.gsub(/[ "'*@#$%^&()+=;:.,?>|\\<~_!]/,'-').gsub(/-{2,}/,'-'), self.uid].join("-") end private def generate_uid self.uid = rand(36**8).to_s(36) end end