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的值-最好的地方是您的模型,在那里它们已经被定义。