search_field_tagでsearch_pathを呼び出すと、「ルートが一致しません」というエラーが発生します。検索フォームは私のヘッダーにあります。アイデアは単にイベントを検索できるようにすることです。
これがroutes.rbのルートです。
match '/events/search/:query' => 'events#search', :as => "search"
検索フォームのコードは次のとおりです。
<%= form_tag search_path, :method => :get do %>
<%= text_field_tag :query, params[:query] %>
<%= submit_tag "search", :name => :nil %>
<% end %>
(このフォームを送信するときに、/ events / search /:queryに送信されることを確認するにはどうすればよいですか?:queryはsearch_field_tagの値です)
これが私のevents_controllerのコードです
def search
@search_q = params[:query]
@events = Event.search @search_q #uses thinking sphinx
respond_with @events
end
/views/events/search.html.erbも作成しました
エラーは、search_pathと言った検索フォームの行から発生していると確信しています。他のすべては、私が期待したとおりに機能しているように見えますが、たとえば、/ events / search / sometermにアクセスすると、期待どおりに機能します。検索フォームに接続してevents#searchに送信するだけです。何か助けはありますか?ありがとう!