¿Rails plugin para generar enlaces únicos?

Hay muchos lugares en mi aplicación donde necesito generar enlaces con tokens únicos (foo.com/g6Ce7sDygw o lo que sea). Cada enlace puede estar asociado con algunos datos de sesión y llevaría al usuario a algún controlador / acción específico.

¿Alguien sabe de una gem / plugin que hace esto? Es bastante fácil de implementar, pero estaría más limpio sin tener que escribirlo desde cero para cada aplicación.

Necesitaba el mismo pensamiento, tú lo necesitas y lo implementé yo solo. No sé sobre ningún plugin que haga lo que quieres. Como escribiste, implementarlo no es tan difícil. Aquí está mi solución:

  1. Ya que no quería usar UUID (porque está codificado con hex). Quería un alfanumérico al azar con letras grandes y pequeñas. Agregué este método a la clase String:

    def String.random_alphanumeric(size=20) s = "" size.times { s << (i = Kernel.rand(62); i += ((i < 10) ? 48 : ((i < 36) ? 55 : 61 ))).chr } s end 

    Con él puedes crear un enlace único con:

     link = String.random_alphanumeric 

    Como parámetro puede establecer el tamaño de la cadena deseada.

  2. Otra cosa importante es buscar esta cadena en db. Utilizo mysql y, de forma predeterminada, no distingue entre mayúsculas y minúsculas, así que agregué el método de búsqueda a mi modelo de UniqueLink:

     def self.find_uid(search_for) find_by_sql("SELECT * FROM workshop_application_unique_ids where uid = '#{search_for}' COLLATE utf8_bin ORDER BY created_at DESC").first end 

¡Espero eso ayude!