Hacer que los actos-as-taggable gema distinguen entre mayúsculas y minúsculas
-
21-12-2019 - |
Pregunta
Estoy usando los actos como la etiqueta Gable GEM y está obligando a algunas etiquetas con mayúsculas en minúsculas.Por ejemplo, cuando intento agregar 'informática', agrega 'Ciencias de la computadora' en su lugar y los registros del servidor muestran esto:
ActsAsTaggableOn::Tag Load (0.6ms) SELECT "tags".* FROM "tags" INNER JOIN "taggings" ON "tags"."id" = "taggings"."tag_id" WHERE "taggings"."taggable_id" = $1 AND "taggings"."taggable_type" = $2 AND (taggings.context = 'tags' AND taggings.tagger_id IS NULL) [["taggable_id", 12], ["taggable_type", "Project"]]
=> ["computer science", "Computer Science"]
No quiero esto.La página actosagagmable GitHub dice agregar esto:
ActsAsTaggableOn.strict_case_match = true
He agregado esa línea al archivo application.rb, pero todavía no funciona.¿Cómo hago actuaciones sensibles a mayúsculas y minúsculas?
Solución
He probado esto y funciona para mí.Asegúrese de no tener lo siguiente escrito en su aplicación.rb:
ActsAsTaggableOn.force_lowercase = true
Si eso no lo resuelve, agregue más información.
Dicho esto, es posible que desee considerar mantener sus etiquetas en minúsculas por dos razones:
1.) Limpie las URL: desea evitar las letras mayúsculas en su URL.No distinguen entre mayúsculas y minúsculas, pero es simplemente bonita.Si se permite que las personas que aparezcan otras personas se pueden etiquetar, podrían llegar a una cadena como "Hell0Peeps" y que no quieres en URL limpio, ¿verdad?
2.) Tener control sobre su diseño.Esto se relaciona con el primer punto que hice: si alguien usa etiquetas de fantasía utilizando al azar superior / minúsculas, se escribirá como esta dondequiera que enumere sus etiquetas.
Guardarlos en minúscula en su lugar y use .capitalizar
Sin embargo, si los requisitos son diferentes y requieren la libre elección de letras mayúsculas y minúsculas, ignorando mis pensamientos adicionales :)