我需要能够在我的数据库中搜索部分名称。我可以在我的Rails项目中安装一个很好的宝石吗?例如,如果我搜索'mit',应该出现名称'Smith'。不是强制性的,但如果语音拼写也匹配也会很好,所以在找到'Mich'后会出现'Mitch'。如果昵称匹配,也将是一个很好的奖金。因此,搜索'Jim'会提出'James'。
我正在使用Heroku和PostgreSQL。我可以使用PostgreSQL特定的代码来完成上述任务。
答案 0 :(得分:1)
有一个非常好的宝石用于搜索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 %>
答案 1 :(得分:0)
当您使用postgresql时,我建议您通过textacular
使用其搜索功能您将在自述页面上找到安装和使用它所需的一切。
答案 2 :(得分:0)
也许您可以使用this railscast作为指南。是专业剧集,所以如果您没有专业版帐户,无论如何您都可以查看github中的代码。