сделать так, чтобы драгоценный камень с тегами действовал с учетом регистра

Я использую действия в качестве тега 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"]

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

ActsAsTaggableOn.strict_case_match = true

Я добавил эту строку в файл application.rb, но она все еще не работает. Как сделать actastagable чувствительным к регистру?


person Philip7899    schedule 11.04.2014    source источник
comment
Вы перезапустили свой сервер?   -  person Marek Lipka    schedule 11.04.2014
comment
Да, все равно не работает.   -  person Philip7899    schedule 11.04.2014
comment
Когда вы говорите, что это все еще не работает, можете ли вы привести конкретный пример того, что вы делаете, что происходит и чего вы ожидаете? например, что вы на самом деле делаете, когда я пытаюсь добавить «Информатика»?   -  person Max Williams    schedule 11.04.2014


Ответы (1)


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

ActsAsTaggableOn.force_lowercase = true

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

Сказав это, вы можете рассмотреть возможность сохранения ваших тегов в нижнем регистре по двум причинам:

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

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

Вместо этого сохраните их в нижнем регистре и используйте .capitalize.

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

person Georg Keferböck    schedule 13.04.2014