Ruby on rails ruby搜索下拉列表

Ruby on rails ruby搜索下拉列表,ruby-on-rails,ruby,search,drop-down-menu,Ruby On Rails,Ruby,Search,Drop Down Menu,我的产品型号中有一个类型的下拉列表 我希望能够在Productsindex.html.erb中搜索,以便用户从下拉列表中选择一种类型,单击“搜索”,并返回与该类型匹配的所有产品 当用户在文本框中输入搜索时,我可以使用正常的搜索方法,但当用户仅从下拉列表中选择时,我无法使用正常的搜索方法 有人能帮忙吗?在您的控制器中: def index @products = Product.all :conditons => {:type => params[:type]} end 在你看来

我的
产品
型号中有一个
类型
的下拉列表

我希望能够在
Products
index.html.erb中搜索,以便用户从下拉列表中选择一种类型,单击“搜索”,并返回与该类型匹配的所有产品

当用户在文本框中输入搜索时,我可以使用正常的搜索方法,但当用户仅从下拉列表中选择时,我无法使用正常的搜索方法

有人能帮忙吗?

在您的控制器中:

def index
  @products = Product.all :conditons => {:type => params[:type]}
end
在你看来:

<% form_tag products_path, :method => :get do %>
  <%=select_tag :type, options_for_select(Product::TYPES.map{ |type| [type, type]}), :onchange => "this.form.submit();" %>
  <%=submit_tag "Search" %>
<% end %>
:get do%>
“this.form.submit();”%>

注意:选项\u for \u select接受成对数组作为[label,value],因此我们使用map来构建它。

更愿意这样做,而不必将更多pluginsI store Type作为字符串添加到产品中。在产品模型中,我使用TYPES=[“type1”,“type2”]设置Type选项,我发布的代码不起作用?它会给你一个错误吗?我的问题是我无法让它实际搜索,因为我不知道如何使用下拉列表,这是我在index.html.erb中找到的类型“submit_search”,:class=>“button”%>仍然有问题,请为#获取一个错误未定义的方法“TYPES”。到那时,
Product::TYPES
会有帮助吗?这实际上取决于您的代码-您需要从某处获取select的值-最好的地方是您的模型,在那里它们已经被定义。