【问题标题】:Name search gem for RailsRails 的名称搜索 gem
【发布时间】:2013-08-06 08:39:16
【问题描述】:

我需要能够在我的数据库中搜索部分名称。我可以在我的 Rails 项目中安装一个好的 gem 来执行此操作吗?例如,如果我搜索“mit”,应该会出现一个名字“Smith”。不是强制性的,但如果语音拼写也匹配会很好,所以在搜索“Mich”后会出现“Mitch”。如果昵称匹配,这也是一个不错的奖励。因此,搜索“Jim”会找到“James”。

我将 Heroku 与 PostgreSQL 一起使用。我可以使用特定于 PostgreSQL 的代码来完成上述操作。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 postgresql search ruby-on-rails-4


    【解决方案1】:

    有一个很好的 gem 用于搜索 meta_search。

    https://github.com/ernie/meta_search

    它为搜索内容提供了适当的帮助。就像您想通过键入“mit”来查找名为“Smith”的用户记录。你可以:

    在控制器中:

    class UsersController < ApplicationController
    
      def index
        @search = User.search(params[:search])
        ....
      end
      ...
    end
    

    在视图中:

    <%= form_for @search do |f| %>
      <%= f.label :name_contains, 'Name' %>
      <%= f.text_field :name_contains %>
      <%= f.submit 'Search' %>
    <% end %>  
    

    【讨论】:

      【解决方案2】:

      当您使用 postgresql 时,我建议您通过 textacular 使用它的搜索功能

      您将在自述文件页面上找到安装和使用它所需的一切。

      【讨论】:

        【解决方案3】:

        也许您可以使用this railscast 作为指导。是专业剧集,所以如果你没有专业账号,无论如何你可以查看github中的代码。

        【讨论】:

        • 那个 railscast 很棒。尽管建议的机制无法搜索“mit”并显示“Smith”。
        猜你喜欢
        • 2011-12-17
        • 2016-11-25
        • 1970-01-01
        • 2019-03-18
        • 1970-01-01
        • 2017-09-09
        • 2014-09-19
        • 2014-08-04
        • 1970-01-01
        相关资源
        最近更新 更多