0

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

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

4

3 回答 3

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 %>  
于 2013-08-06T09:52:26.233 回答
0

也许你可以使用这个 railscast作为指南。是专业剧集,所以如果您没有专业帐户,无论如何您都可以查看github中的代码。

于 2013-08-06T16:40:34.983 回答
0

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

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

于 2013-08-06T09:24:21.063 回答