【问题标题】:Rails: searching filter model attributeRails:搜索过滤器模型属性
【发布时间】:2023-04-04 05:00:01
【问题描述】:

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

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

搜索表单应该执行的操作:

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

【问题讨论】:

  • 如果不深入了解您的应用程序和架构,很难说。周围有几个比较。我还建议查看相关的 Railscast:railscasts.com
  • 谢谢,但我已经检查过了。申请很简单:很多社团,每个人都分类,我要搜索类别。
  • 你是说你不想使用 gem,你想自己推出它并想要指导如何去做?
  • 已编辑问题,我完全想使用 gem。我想说的是,我可以处理简单的文本搜索,但如果我可以按照我在问题中指定的方式过滤我的搜索,则不要这样做

标签: ruby-on-rails search full-text-search filtering categories


【解决方案1】:

我最近发现的一个很棒的宝石是Ransack,Ryan Bates 有一个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>。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 2015-09-14
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多