我的Type
模型中有Products
的下拉列表。
我希望能够在Products
index.html.erb中进行搜索,以便用户从下拉列表中选择一种类型,点击搜索并返回与该类型匹配的所有产品。
我可以让普通的搜索方法在用户在文本框中输入搜索的地方工作,但是当他们只从下拉列表中选择时我无法使用它。
有人可以帮忙吗?
答案 0 :(得分:1)
在您的控制器中:
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 %>
注意:options_for_select接受一对数组作为[label,value],所以我们使用map来构建它。