0
타이어 검색 결과에서 current_user.id를 제외하려고 시도했지만 param을 Tire에 전달하고 검색에 고정 값 대신이를 사용하는 방법을 파악할 수 없습니다. 어떻게하면 current_user.id를 모델에 전달하고 검색 결과에서 제외시킬 수 있습니까?타이어가 param을 모델링하고 검색 할 때이 매개 변수를 사용합니다.
액티브 방법 :
Profile.where("user_id != ?", current_user.id)
내 타이어 검색 블록 :
if params['people']
tire.search(load: true, page: params[:page], per_page: 20, :default_operator => 'AND') do
query do
boolean do
must_not { string 'user_id: 1' } <== this works hardcoded
must_not { string 'user_id: < instead of 1 user current_user.id pass in true params?' }
end
end
to_curl
end
end
current_user.id는 Devise gem의 메소드입니다. 이것을 레일스 모델로 넘겨 줄 수는 없지만 ID를 얻을 수있는 유일한 방법은 양식에있는 조작 가능한 숨겨진 필드 (예 : user_id)를 사용하는 것입니다. 나는 아무도 특정 이드를 제외 할 수 없다는 이슈를 가진 것으로 보인다는 것을 이해하지 못한다 - 나는이 각도를 잘못된 각도에서 다루어야 만한다. – Rubytastic
이것은 내가 추측하는 데 도움이 될 수있다. http://stackoverflow.com/a/2513456/790737 –
검색은 어떻게 "스폰"됩니까? 컨트롤러에서? 그런 다음 컨트롤러에서 Rails 모델을 초기화하거나 가져올 때 모델이 current_user.id에 대해 "알 수있게"할 수 있습니다. 그러나 검색은 "스폰", "시작"등의 방법에 따라 달라집니다. 원래 검색은 (레이크 작업 일 수도 있음)에서 비롯됩니다. 추천을위한 –