我已經實現了一個搜索框,可以在我的數據庫中搜索「疾病」表和「症狀」表。 現在我想添加自動完成到搜索框。ruby on rails用自動完成的搜索執行搜索
我創建了一個名爲「auto_complete_controller」的新控制器,它返回自動完成的數據。 我只是不知道如何結合搜索功能和自動完成功能:我希望我的搜索控制器中的「索引」操作返回搜索結果,並且我的auto_complete控制器中的「索引」操作返回auto_complete數據。
請指導我如何解決我的html語法以及在js.coffee文件中寫什麼。 我使用的軌道3.X與自動完成的jQuery UI的,我更喜歡一個服務器端解決方案,這是我當前的代碼:
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
Ť李012