私は次のようなフォーム検索を作成しました:
<%= form_tag({ controller: 'questions', action: 'search_topic' }, method: 'get') do %>
<%= select_tag 'search_topic', options_from_collection_for_select(current_user.get_topics, :id, :name) %>
<%= submit_tag "Search", name: nil, class: 'btn' %>
<% end %>
選択ボックスから選択したトピックのすべての質問を検索したいので、検索を支援するために黒点を使用しました。次に、選択ボックスから検索用のコントローラーに値選択を渡すにはどうすればよいですか。以下のコードを使用してparams [:search]を渡します。 :
<%= select_tag 'search_topic', options_from_collection_for_select(current_user.get_topics, :id, :name), params[:search] %>
しかし、エラーがあります:
undefined method `[]' for nil:NilClass
これは私のコントローラーです:
def search_topic
@search = Question.search do
with(:topic_id, params[:search])
paginate page: 1, per_page: 10
end
@questions = @search.results
render 'index'
end
では、フォームの選択ボックスから選択した値を検索用のコントローラーに渡すにはどうすればよいですか?