fazer atos-como-taggable gem sensível a maiúsculas e minúsculas
-
21-12-2019 - |
Pergunta
Eu estou usando os atos como marca gable gem e ele está forçando algumas tags com letras maiúsculas para o ser em minúsculas.Por exemplo, quando tento adicionar a 'Ciência da computação', acrescenta "ciência da computação", em vez e o servidor de logs de mostrar isto:
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"]
Eu não quero isso.O actsastaggable github página diz para adicionar este:
ActsAsTaggableOn.strict_case_match = true
Eu adicionei essa linha para o aplicativo.rb arquivo, mas ele ainda não está funcionando.Como eu faço actsastaggable sensível a maiúsculas e minúsculas?
Solução
Eu testei isso e ele trabalha para mim.Certifique-se de que você não tem a seguinte escrito em seu aplicativo.rb:
ActsAsTaggableOn.force_lowercase = true
Se isso não resolver, adicionar mais informações.
Dito isto, você pode querer considerar a possibilidade de manter o seu Tags minúsculas, por duas razões:
1.) limpa URL - você quer evitar as letras maiúsculas na sua URL.Eles não são sensíveis a maiúsculas e minúsculas, mas é simplesmente bonita.Se outras pessoas do que sozinho é permitido tag eles poderiam vir até com cadeia de caracteres, tais como "hEll0PeEpS" e que você não quer na limpeza do URL, certo?
2.) Ter controle sobre o seu design.Isso se relaciona com o primeiro ponto que eu fez - se alguém usa a fantasia tags usando maiúsculas/minúsculas aleatoriamente vai ser escrito como este, onde quer que sua lista de tags.
Guardá-los em minúsculas e em vez de utilizar .capitalizar
No entanto, se as suas necessidades são diferentes e necessitam de livre escolha de letras maiúsculas e minúsculas, em seguida, ignorar meus pensamentos adicionais :)