2

我需要在我的搜索表单中添加过滤搜索功能。这有点像社交网络。我的应用程序有社团,社团有类别(时尚、新闻、工厂、ecc)。我需要我的搜索来过滤这些类别。

自从我看到有很多搜索宝石(solr、thinking sphinx、elasticsearch、sunspot)并且浏览所有这些宝石有点不知所措,有人完成了这样的任务吗?有什么建议吗?

搜索表单应执行的操作:

1)搜索社团名称(我可以用 Sunspot 处理)
2)按用户在选择标签中选择的类别过滤所有社团(类似这样
3)如果文本字段和选择都已填写,则搜索仅在所选类别中的名称

4

1 回答 1

0

我最近发现的一个伟大的宝石是Ransack,Ryan Bates 有一个RailsCasts 用于.

这是一个如何使用它的例子。

<%= search_form_for @query do |f| %>
  <!-- filter: `society_name` contains text -->
  <%= f.label :society_name_cont %>
  <%= f.text_field :society_name_cont %>

  <!-- filter: `category_id` equals -->
  <%= f.label :category_id_eq %>
  <%= f.collection_select :category_id_eq, Category.all, :id, :name %>
<% end %>

如果您不熟悉collection_selectRails 指南,将有助于 < http://guides.rubyonrails.org/form_helpers.html#making-select-boxes-with-ease >。

于 2012-08-30T17:36:23.857 回答