1

我正在尝试在 Rails 3.2 中创建一个下拉过滤器。

我已经看到了这些方面的解决方案,但不确定如何在我的情况下实施它们。 从下拉列表中过滤索引页面上的结果

我有一个表格,events我想要一个下拉框来过滤这些事件category。通过使用参数在视图中执行以下操作,我已经完成了一半:

<% @event.events_by_category(sanitize_output(params[:cat])).each do |e| %>
  ...
<% end %>

然后在模型中使用以下内容event

def self.events_by_category(cat)
  if cat == nil
    all
  else
    where("category = ?", cat)
  end
end

但是,创建一个下拉列表来刷新 URL 以在 jQuery 中包含参数似乎很脏。

在 Rails 中完成这种下拉菜单的最佳方法是什么?

4

1 回答 1

1

我找到了一个不错的解决方案,只需对选择框使用表单标签,如下所示:

<%= form_tag events_path, method: 'get' do %>
  <%= select_tag :cat, Options::TYPE %>
  <%= submit_tag 'Filter %>
<% end %>
于 2012-12-10T22:01:26.393 回答