2011-07-06 5 views
0

나는 스핑크스를 생각하고 스핑크스를 생각하며 회사, 사용자, 주문, 메모, 의견 등으로 구성된 기본 주문 시스템을 운영하고 있습니다.Thinking Sphinx Global Search 모든 모델

TS가 잘 실행되고 있으며 개별 모델을 검색하면 중첩 된 리소스가 훌륭하게 작동합니다.

내가 원했던 것은 내 머리글 (application.html.erb)에 글로벌 검색 양식이 있어야한다는 것입니다. 문제는 내 양식이 게시되는 위치입니다.

<%= form_tag companies_path, :method => 'get', :id => "companies_search" do %> 
    <p> 
    <%= text_field_tag :search, params[:search] %> 
    <%= submit_tag "Search", :name => nil %> 
    </p> 
<% end %> 

분명히 내 회사 및 중첩 된 리소스에 적용됩니다. 헤더에 입력하면 결과가 회사 레이아웃으로 반환됩니다.

회사 _ 경로에 대한 동적 대안을 만들 수 있습니까?

아니면 특별한 레이아웃을 만들어야하나요?

다른 모든 사람들은 어떻게합니까?

답변

2

나는 글로벌 검색 처리하기위한 별도의 조치 만들 것 - 다시 재사용 검색 행동에 이상 또는 별도의 라우팅, 그리고 글로벌 검색 기업 검색 등

으로의 여부를 감지 해당 작업이 헤더 - 당신은 항상 그것을 글로벌하고 싶습니까? 그만큼 간단하기 때문에 양식에 대한 전역/일반 검색 작업을 계속 사용하십시오. 적절한 경우 모델 컨텍스트를 기본값으로 설정하여 동적으로 수행하려는 경우? - content_for 블록을 선택하고 각 관련보기에 적절한 검색 양식을 추가하십시오.

물론 혼란 스럽기 때문에 params [: controller]에서 현재 컨텍스트가 무엇인지 확인하는 도우미를 통해 URL을 사용자 정의 할 수 있습니다. 그러나 이것이 얼마나 연약한 지 알지 못합니다.

+0

답장을 보내 주셔서 감사합니다. @pat. 그 번거 로움이 정말로 가치가 있는지 궁금해지기 시작합니다. 모델을 따로 따로 색인화하는 것이 더 쉬울 수도 있습니다. 확실하지 않다....... –

관련 문제