我需要能够在我的数据库中搜索部分名称。我可以在我的 Rails 项目中安装一个好的 gem 来执行此操作吗?例如,如果我搜索“mit”,应该会出现一个名字“Smith”。不是强制性的,但如果语音拼写也匹配会很好,所以在搜索“Mich”后会出现“Mitch”。如果昵称匹配,这也是一个不错的奖励。因此,搜索“Jim”会找到“James”。
我将 Heroku 与 PostgreSQL 一起使用。我可以使用特定于 PostgreSQL 的代码来完成上述操作。
我需要能够在我的数据库中搜索部分名称。我可以在我的 Rails 项目中安装一个好的 gem 来执行此操作吗?例如,如果我搜索“mit”,应该会出现一个名字“Smith”。不是强制性的,但如果语音拼写也匹配会很好,所以在搜索“Mich”后会出现“Mitch”。如果昵称匹配,这也是一个不错的奖励。因此,搜索“Jim”会找到“James”。
我将 Heroku 与 PostgreSQL 一起使用。我可以使用特定于 PostgreSQL 的代码来完成上述操作。
有一个非常好的 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 %>
也许你可以使用这个 railscast作为指南。是专业剧集,所以如果您没有专业帐户,无论如何您都可以查看github中的代码。
当您使用 postgresql 时,我建议您通过textacular使用它的搜索功能
您将在自述文件页面上找到安装和使用它所需的一切。