Вопрос

Я использую действия в качестве Tag Gable Gem, и он заставляет некоторые теги заглавными буквами все строчные.Например, когда я пытаюсь добавить «компьютерную науку», он добавляет «компьютерную науку», и журналы сервера показывают это:

  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"]
.

Я не хочу этого.Страница GitHub Actsastaggable говорит, что добавить это:

ActsAsTaggableOn.strict_case_match = true
.

Я добавил эту строку в файл Application.RB, но он все еще не работает.Как я могу сделать Actsastagguble Case-чувствителен?

Это было полезно?

Решение

Я проверил это, и это работает для меня.Убедитесь, что у вас нет следующих, написанных в вашем приложении .rb:

ActsAsTaggableOn.force_lowercase = true
.

Если это не решает, добавьте дополнительную информацию.

По словам, вы, возможно, захотите рассмотреть вопрос о том, чтобы держать свои метки строчными по двум причинам:

1.) Чистый URL-адрес - вы хотите избежать заглавных букв в вашем URL.Они не чувствительны к регистру, но это просто красиво.Если люди, отличные от самого себя, допускаются для тега, они могут придумать, такие как «Hell0peeps», и что вы не хотите в чистом URL, верно?

2.) Управляйте своим дизайном.Это относится к первой точке, которую я сделал - если кто-то использует модные метки, используя верхний / нижний регистр случайным образом, он будет записан так, куда бы вы ни перечислите свои теги.

Сохранить их строчные вместо этого и использовать .Capitalize

Однако, если вы требуются разные и требуют свободного выбора верхних и строчных букв, а затем игнорируйте мои дополнительные мысли :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top