Make ACTS-AS-Taggable Gem Case-Sensitive
-
21-12-2019 - |
Domanda
Sto usando gli atti come Gemma del tag GABLE e sta costringendo alcuni tag con lettere maiuscole per essere tutte lettere minuscole.Ad esempio, quando provo ad aggiungere "informatica", aggiunge invece "informatica" e i log dei server mostrano questo:
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"]
.
Non voglio questo.La pagina GitHub ACTSASTAGAGLIABLE dice per aggiungere questo:
ActsAsTaggableOn.strict_case_match = true
.
Ho aggiunto quella linea all'applicazione. Disponibile il file ma non funziona ancora.Come faccio a fare ACTSASTAGAGGIAbile Case-Sensitive?
Soluzione
Ho testato questo e funziona per me.Assicurati di non avere il seguente scritto nella tua applicazione.rb:
ActsAsTaggableOn.force_lowercase = true
.
Se ciò non risolve aggiungere più informazioni.
Avendo detto che, potresti voler considerare di mantenere le tue tag minuscole per due motivi:
1.) Pulire gli URL - vuoi evitare lettere maiuscole nel tuo URL.Non sono case sensitive ma è semplicemente carina.Se le persone diverse da te sono autorizzate a taggare, potrebbero essere inventate con stringa come "Hell0Peeps" e che non vuoi in URL pulito, giusto?
2.) Avere il controllo sul tuo design.Ciò si riferisce al primo punto che ho realizzato - se qualcuno utilizza tag di fantasia usando la parte superiore / minuscola casuale, verrà scritto in questo modo ovunque elenchi i tuoi tag.
Salvali in minuscolo e utilizzare .capitalize
Tuttavia, se i requisiti sono diversi e richiedono la libera scelta di lettere maiuscole e minuscole, quindi ignorare i miei pensieri aggiuntivi :)