AJAXを使用して同じページに検索結果を表示する簡単な非同期検索フォームを実装しようとしています。私のコードは以下の通りです。検索結果は、部分ビューを使用してレンダリングされます。フォームが送信されると、結果の配列が再作成され、ページに表示されることを期待しています。しかし、これは発生しておらず、ページは更新されません。私はもう1日レールを見ています、そしてそれは些細なことだと思います、しかし私は助けが必要です。
ルート:
match 'search' => 'search#index'
コントローラ:
class SearchController < ApplicationController
def index
@results = params[:search] ? ['test0', 'test1', 'test2'] : []
end
end
ビューindex.html.erb
:
<%= form_tag search_path, :method => :get, :remote => true do %>
<%= text_field_tag :search %>
<%= submit_tag 'Search' %>
<% end %>
<div id="results">
<%= render :partial => 'results' %>
</div>
部分図_results.html.erb
:
<ul>
<% @results.each do |result| %>
<li>
<%= result %>
</li>
<% end %>
</ul>