我正在尝试在Rails 3.2中创建一个下拉过滤器。
我已经看到了这些方面的解决方案,但我不确定如何在我的情况下实现它们。 Filter results on index page from dropdown
我有一张events
的表格,我想要一个下拉框来按category
过滤这些事件。我使用params在视图中沿着这些线做了一些事情:
<% @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中包含params的下拉列表似乎很脏。
在Rails中完成此类下拉列表的最佳方法是什么?
答案 0 :(得分:1)
我通过使用selectbox的表单标签找到了一个不错的解决方案,如下所示:
<%= form_tag events_path, method: 'get' do %>
<%= select_tag :cat, Options::TYPE %>
<%= submit_tag 'Filter %>
<% end %>