ORM para TypeScript y JavaScript en Node.js y otras plataformas JS, compatible con los patrones Active Record y Data Mapper y con numerosas bases de datos SQL y NoSQL.
norman/friendly_id
Una gem de Ruby para Active Record que genera slugs legibles y permite encontrar modelos mediante cadenas como un nombre, en lugar de un ID numérico.
- Estrellas
- 6,222
- Forks
- 591
- Issues abiertos
- 33
- Último commit
- hace 3 meses
¿Qué es?
FriendlyId es una gem de Ruby para Active Record que crea slugs legibles para URL a partir de atributos de los modelos. Permite sustituir una URL como /states/4323454, que usa una clave primaria numérica, por otra como /states/washington; el método find del modelo acepta ambas formas.
Para usarla, agrega una columna para el slug a una tabla, declara en el modelo con friendly_id el atributo del que se generará el slug y cambia en los controladores Model.find por Model.friendly.find. La gem también incluye un generador para crear su archivo de configuración y las migraciones, además de una opción para evitar que se lance RecordNotFound pasando allow_nil.
El proyecto también cubre necesidades más avanzadas, como el historial y el versionado de slugs, i18n, slugs con ámbito, palabras reservadas y generadores de slugs personalizados. Tiene licencia MIT y es compatible con Rails 4.0 y versiones posteriores mediante las versiones 5.x de la gem.
Funciones clave
- 01Genera slugs a partir de atributos de los modelos y los guarda en una columna específica.
- 02Permite que find acepte tanto un slug como una clave primaria numérica.
- 03Conserva el historial de slugs para que las URL antiguas sigan resolviéndose.
- 04Admite slugs con ámbito, palabras reservadas y generadores de slugs personalizados.
- 05Incluye compatibilidad con i18n para los slugs.
Casos de uso
- Crear páginas de Rails cuyas URL muestren el nombre de un producto, usuario o artículo en lugar de un ID.
- Conservar enlaces antiguos cuando cambia el título de un registro mediante el historial de slugs.
- Agregar enlaces permanentes legibles a una aplicación Rails existente que ya contiene registros.
Inicio rápido
- 1
Añade la gema a tu Gemfile
- 2
Instala las dependencias
bundle install - 3
Genera el archivo de configuración y la migración de FriendlyId
rails generate friendly_id - 4
Ejecuta las migraciones
rails db:migrate
Antes de usarlo
- Solo funciona con Ruby on Rails y modelos de Active Record.
- Después de añadir FriendlyId, debes generar manualmente los slugs de los registros existentes.
Temas
Preguntas frecuentes
- ¿Qué es friendly_id?
- Una gem de Ruby para Active Record que genera slugs legibles y permite encontrar modelos mediante cadenas como un nombre, en lugar de un ID numérico. FriendlyId es una gem de Ruby para Active Record que crea slugs legibles para URL a partir de atributos de los modelos. Permite sustituir una URL como /states/4323454, que usa una clave primaria numérica, por otra como /states/washington; el método find del modelo acepta ambas formas.
- ¿friendly_id es gratuito? ¿Qué licencia tiene?
- friendly_id es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿friendly_id sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de friendly_id fue el 18 ago 2026.
- ¿Para qué puedo usar friendly_id?
- Crear páginas de Rails cuyas URL muestren el nombre de un producto, usuario o artículo en lugar de un ID. Conservar enlaces antiguos cuando cambia el título de un registro mediante el historial de slugs. Agregar enlaces permanentes legibles a una aplicación Rails existente que ya contiene registros.
- ¿Cómo se instala friendly_id?
- Añade la gema a tu Gemfile Instala las dependencias: bundle install Genera el archivo de configuración y la migración de FriendlyId: rails generate friendly_id Ejecuta las migraciones: rails db:migrate
- ¿Dónde consigo friendly_id?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/norman/friendly_id
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Ruby on Rails es un framework web MVC full-stack para crear aplicaciones web en Ruby respaldadas por bases de datos.
Biblioteca de búsqueda para Ruby on Rails que añade búsqueda de texto completo inteligente a modelos de Active Record y Mongoid mediante Elasticsearch u OpenSearch.
Framework de comercio electrónico de código abierto basado en Ruby on Rails para crear y controlar por completo una tienda en línea propia.
Biblioteca de paginación para Ruby puro, independiente del framework, con paginadores por offset, keyset, búsqueda y calendario para Rails, Sinatra y otros frameworks.
Un motor de pagos para Ruby on Rails que incorpora clientes, suscripciones, cargos y métodos de pago con Stripe, Paddle, Braintree y Lemon Squeezy.