Rails:搜索过滤器模型属性

问题描述:

我需要在我的搜索表单中添加过滤器搜索功能。 这就像一个社交网络。我的应用程序有社会,社会有类别(时尚,新闻,工厂,ecc)。我需要我的搜索来过滤这些类别。Rails:搜索过滤器模型属性

因为我看到有大量的搜索宝石(solr,思维狮身人面像,elasticsearch,太阳黑子),并通过所有这些查找是有点压倒有人完成这样的任务? 有什么建议吗?

事物的搜索表单应该执行:

1)搜索一个协会名称(我可以用太阳黑子处理这个)
2)由用户在选择标签选择分类筛选所有协会(类似this
3)如果两个文本字段和选择填充,只有在选择

+0

很难说没有关于您的应用程序和体系结构的更深入的知识。有几个比较周围。另外我建议看看相关的Railscasts:http://railscasts.com – iltempo 2012-07-29 14:38:46

+0

谢谢,但我已经检查过它们。应用程序很简单:许多社会,每个人都归类并且我想要搜索类别。 – Barbared 2012-07-29 15:24:34

+0

你是说你不想使用宝石,你想自己推出这个宝石,并希望指导如何做到这一点? – JohnMerlino 2012-07-29 16:16:06

一个伟大的宝石,我发现最近是Ransack的范畴,瑞恩·贝茨有一个RailsCasts for搜索的名称。

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

<%= 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_select Rails的指南将帮助< http://guides.rubyonrails.org/form_helpers.html#making-select-boxes-with-ease>。