DB内の「Illnesses」テーブルと「symptoms」テーブルを検索する検索ボックスを実装しました。次に、検索ボックスにオートコンプリートを追加します。
オートコンプリートデータを返す「auto_complete_controller」という新しいコントローラーを作成しました。検索機能とオートコンプリート機能を組み合わせる方法がわかりません。検索コントローラーの「インデックス」アクションで検索結果を返し、オートコンプリートコントローラーの「インデックス」アクションでオートコンプリートデータを返します。 。
HTML構文を修正する方法とjs.coffeeファイルに何を書き込むかを教えてください。オートコンプリート用のjqueryUIでrails3.xを使用しています。サーバー側のソリューションを好みます。これは、現在のコードです。
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
ありがとう、李