我建立了一個形式的搜索是這樣的:如何獲得通過使用options_from_collection_for_select select_tag選擇的值,並將它傳遞給控制器
<%= 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 [:搜索]:
<%= 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
那麼,如何可以通過從選擇框中選擇的形式,以控制器爲搜索的價值?
我已經在控制器中傳遞了它,但是搜索錯誤。 – Thanh
你在控制器中做了什麼?你可以在控制器和查看文件中分享你的代碼,並且如果可能的話也會出錯 –
我的控制器和視圖在我的問題中,只是不同的是我已經將參數[:搜索]更改爲params [:search_topic]。 – Thanh