문제

태그 Gable 보석으로서의 행위를 사용하고 있으며 대문자로 일부 태그가 모두 소문자로 강요합니다.예를 들어, '컴퓨터 과학'을 추가하려고하면 '컴퓨터 과학'이 추가되고 서버 로그가 다음과 같습니다.

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

나는 이것을 원하지 않는다.ActSastAggable Github 페이지가 다음을 추가합니다.

ActsAsTaggableOn.strict_case_match = true
.

i 라인을 application.rb 파일에 추가했지만 여전히 작동하지 않습니다.어떻게 ActSastAggable 대소 문자를 구분합니까?

도움이 되었습니까?

해결책

나는 이것을 테스트했고 그것은 나를 위해 작동합니다.Application에 쓰여진 다음과 같은지지 확인하십시오 .rb :

ActsAsTaggableOn.force_lowercase = true
.

그게 해결되지 않으면 더 많은 정보를 추가하십시오.

두 가지 이유로 태그를 소문자로 유지하는 것이 좋습니다.

1) URL을 청소하십시오 - URL에서 대문자로 대문자를 피하고 싶습니다.그들은 대소 문자를 구분하지는 않지만 간단합니다.자신이 아닌 사람이 태그를 허용하면 "Hell0Peeps"와 같은 문자열을 올릴 수 있고 깨끗한 URL에서 원하지 않는 것입니다.

2.) 귀하의 디자인을 통제하십시오.이것은 내가 만든 첫 번째 지점과 관련이 있습니다 - 누군가가 윗면 / 소문자를 무작위로 멋진 태그를 사용하는 경우 태그를 나열하는 곳이면 이렇게 작성됩니다.

대신 소문자를 저장하고 사용하십시오. acapitalize

를 사용하십시오.

그러나 요구 사항이 다르고 상품과 소문자를 자유롭게 선택 해야하는 경우 추가 생각을 무시합니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top