gpt4 book ai didi

ruby-on-rails - 如何通过使用 select_tag 和 options_from_collection_for_select 来获取选择的值并将其传递给 Controller

转载 作者:行者123 更新时间:2023-12-04 06:06:23 25 4
gpt4 key购买 nike

我已经建立了一个这样的表单搜索:

<%= 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 %>

我想搜索从选择框中选择的主题的所有问题,我使用太阳黑子来帮助搜索,所以现在我如何将值选择从选择框传递到 Controller 进行搜索,我使用下面的代码来传递参数 [:search] :
<%= select_tag 'search_topic', options_from_collection_for_select(current_user.get_topics, :id, :name), params[:search] %>

但它有错误:
undefined method `[]' for nil:NilClass

这是我的 Controller :
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

那么,如何将从表单上的选择框中选择的值传递给 Controller ​​进行搜索?

最佳答案

<%= select_tag 'search_topic', 
options_from_collection_for_select(current_user.get_topics, :id, :name) %>

这假设显示的 View 代码在表单内。如果该表单发布,它最终会在创建操作中说:
params[:search_topic]

包含您选择的值。

关于ruby-on-rails - 如何通过使用 select_tag 和 options_from_collection_for_select 来获取选择的值并将其传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13201284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com