DB의 "Illnesses"테이블과 "symptoms"테이블을 검색하는 검색 상자를 구현했습니다. 이제 자동 완성을 검색 창에 추가하고 싶습니다.ruby on rails가 자동 완성으로 검색을 구현합니다.
"auto_complete_controller"라는 새로운 컨트롤러를 만들어 자동 완성 데이터를 반환합니다. 검색 기능과 자동 완성 기능을 결합하는 방법을 잘 모르겠습니다. 내 검색 컨트롤러에서 "색인"작업으로 검색 결과를 반환하고 auto_complete 컨트롤러에서 "색인"작업으로 auto_complete 데이터.
내 HTML 구문을 수정하고 js.coffee 파일에 쓸 내용을 안내해주세요. 나는 자동 완성에 대한 JQuery와 UI에 레일 3.x를 사용하고 , I는 서버 측 솔루션을 선호하고,이 내 현재 코드입니다 :
main_page/index.html.erb :
<p>
<b>Syptoms/Illnesses</b>
<%= form_tag search_path, :method => 'get' do %>
<p>
<%= text_field_tag :search, params[:search] %> <br/>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
</p>
auto_complete_controller.rb :
class AutoCompleteController < ApplicationController
def index
@results = Illness.order(:name).where("name like ?", "%#{params[:term]}%") + Symptom.order(:name).where("name like ?", "%#{params[:term]}%")
render json: @results.map(&:name)
end
end
search_controller.rb :
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
T 행크스, 리