레일에 새 ... 그래서 나와 함께.레일 : 작은 searchlogic 문제
기본 (키워드) 검색을 위해 searchlogic을 설치하고 설정했습니다. 다음 문제가 있습니다 :
@search = Proposal.search(params[:search])
@proposals = @search.all
"red"와 같은 키워드를 입력하면 위 코드가 올바르게 작동합니다. 그것은 빨간색 키워드로 모든 것을 가져올 것입니다. 또는 "녹색"을 입력하면 모든 것이 녹색으로 바뀝니다. 그러나 검색 창에 "빨간색 초록색"을 입력하면 키워드가 빨간색과 초록색 인 경우 (두 키워드 중 하나만있을 수있는 인스턴스는 표시되지 않음) 만 사례를 표시합니다. 예, keywords_like_any를 사용하고 있습니다. 디버그를 통해 일반적인 문제가 무엇인지 알 수 있습니다. keywords_like_any : 초록색입니다. 아래 코드는 내가 원하는대로 작동합니다 (빨간색 또는 녹색의 인스턴스를 가져 오십시오).
@search2 = Proposal.keywords_like_any("red", "green")
@test = @search2.all
그래서 내가 문제를 해결하기 위해해야 할 일은 배열로 params [: search]를 보는 첫 번째 코드를 돌리는 것입니다. params [: string] .to_s.split (railscast에 표시된대로)을 시도했지만 작동하지 않았습니다.
누군가가 올바른 방향으로 나를 가리킬 수 있다면, 나는 그것을 감사 할 것입니다.
어떤 클래스가 params [: search]입니까? – perimosocordiae
귀하의 질문에 대한 이해가 확실하지 않습니다. 내가 PARAMS을 디버깅 할 때 비록이 얻을 : ---지도! HashWithIndifferentAccess 커밋 : yfYORg04RDMlEgjr/4004PRTaJ2TJbV0z6Feq + OYXgw = 조치 : : 인덱스 컨트롤러 : 사용자 검색 :지도 : HashWithIndifferentAccess keywords_like_any : asdf을 authenticity_token 제출 category_id_equals : "" 또한 원래 게시물에 언급 된 코드는 내 사용자 컨트롤러에 있습니다. 도움이된다면 제 코드를 붙여 줄 수도 있지만 꽤 표준입니다. 감사합니다. – asdfasdfasdfasdf