红宝石搜索下拉菜单

发布于 2024-09-01 03:01:20 字数 235 浏览 2 评论 0原文

我的 Products 模型中有一个 Type 下拉列表。

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

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

有人可以帮忙吗?

I have a drop down list of Type in my Products model.

I want to be able to search in the Products index.html.erb so a user selects a type from a drop down list, clicks search and all the products matching that type are returned.

I can get normal search methods working where the user enters in their search in a text box but I cannot get it working when they just select from a dropdown.

Can anyone help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鱼窥荷 2024-09-08 03:01:20

在你的控制器中:

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 来构建它。

In your controller :

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

In your view:

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

NB: The options_for_select accepts an array of pairs as [label, value], so we use map to build it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文