2013-02-28 3 views
0

같은 공간 및 비 영어 문자를 포함하는 태그에 속하는 항목을 찾는 데 실패합니다.행위로서의 taggable-에 내가 특정 태그가 모든 제품을 검색하려면 다음 코드를 사용하고 같은 AAO

tag = The tag for the products which you would like to find 

Product.tagged_with(tag, :on => "product_tags").each do |product| 
    # CODE 
end 

대부분의 태그 된 항목에 적용됩니다. 하지만 스웨덴 문자 인 åäö 및 공백이 포함 된 태그가있는 제품은 검색 할 수 없습니다.

행위로 "A B C를"로 태그 제품을 찾을 수 taggable하지만 "A의 ä 오"로 태그 제품을 찾는 실패합니다.

"å ä ö"로 제품에 태그를 지정해도 문제가 없습니다. 'å ä ö'라는 태그가있는 제품의 모든 태그를 요청할 때 태그가 표시됩니다. 유일한 문제는 "å ä ö"로 태그가 지정된 모든 제품을 찾는 것입니다.

åäö와 제대로 작동하도록 행동을 취할 수있는 방법은 무엇입니까? 이것이 인코딩 문제 일 수 있습니까? 당신이

Product.tagged_with(tag, :on => "product_tags") 

을 실행할 때

답변

1

당신은 그것은 그것이 acts_as_taggable 문제 나 데이터베이스 컬럼 인코딩의 경우 찾는 데 도움이됩니다 우리에게 DB 쿼리를 표시 할 수 있습니다.

+0

도움 주셔서 감사합니다. 문제는 인코딩과 관련이 없습니다. 생성 된 SQL 쿼리는 다음과 같습니다. ActsAsTaggableOn :: Tag Loading (0.3ms) SELECT "tags". * FROM "tags"WHERE (이름은 'ö'또는 'LIKE'또는 'LIKE'å '와 같은 이름). delimiter가 space로 설정되었으므로 acts-as-taggable이 OR 쿼리를 작성했습니다. 구분 기호를 변경하는 방법은 https://github.com/mbleigh/acts-as-taggable-on/wiki를 참조하십시오. –