2012-06-04 2 views
0

DB에 2 개의 테이블이 있습니다. "질병"테이블과 "증상"테이블이 있습니다. 두 테이블을 검색하기위한 일반 검색을 구현했습니다. 내 목표는 결과 페이지에 결과를 표시하는 것입니다. 각 결과는 결과 "표시"페이지 (질병/id/show 또는 증상/id/show)로 연결되는 하이퍼 링크 여야합니다.ruby ​​on rails가 일반 검색을 구현합니다.

결과 페이지에 일반 결과를 전달할 때 현재 결과가 질병인지 증상인지 알 수 없습니다. 나는이 정보를 얻는 가장 좋은 방법이 무엇인지 궁금하다. (컨트롤러에서이 정보를 수집하고 어떻게 든 HTML로 전달해야 하는가? 내가 어떻게 든 HTML에서 다른 쿼리를 실행해야 하는가?)

레일을 사용하고있다. 3.x를, 그리고 내 컨트롤러 코드는 다음과 같습니다

class SearchController < ApplicationController 
    def index 
     @results = Illness.search(params[:search]) + Symptom.search(params[:search]) 

     respond_to do |format| 
      format.html # index.html.erb 
      format.json { render json: @results } 
     end 
    end 
end 

감사합니다, 리

답변

2

당신은 그것에 대해 걱정하지 않아도됩니다.

- @results.each do |result| 
    = link_to 'Show', result 

을 그리고 당신은 결과의 유형에 따라 적절한 링크를 얻을 수 있습니다 : 레일이 서비스를 제공 할 수 있습니다.

그리고 한 번 더. URL의 showshow과 어떻게 관련이 있습니까? 예 : symptom/id/show과 같은 예 :? show 동작은 기본적으로 GET /model/id 경로로 매핑됩니다.

+0

와우. 감사. 이 언어로 배울 점이 많습니다. 그리고 링크에 관한 코멘트에 감사드립니다. – user429400

관련 문제