我需要能够搜索我的数据库中的部分名称。有没有我可以安装在我的Rails项目中的好宝石来做到这一点?例如,如果我搜索'mit',应该出现一个名字'Smith'。不是强制性的,但如果拼音拼写也会很好,那么在搜索'Mich'后会出现'Mitch'。如果昵称匹配,也会是一个不错的奖励。因此,搜索'吉姆'会带来'詹姆斯'。Rails名称搜索gem
我使用Heroku和PostgreSQL。如果使用PostgreSQL特定的代码来完成上述操作,我会很好。
我需要能够搜索我的数据库中的部分名称。有没有我可以安装在我的Rails项目中的好宝石来做到这一点?例如,如果我搜索'mit',应该出现一个名字'Smith'。不是强制性的,但如果拼音拼写也会很好,那么在搜索'Mich'后会出现'Mitch'。如果昵称匹配,也会是一个不错的奖励。因此,搜索'吉姆'会带来'詹姆斯'。Rails名称搜索gem
我使用Heroku和PostgreSQL。如果使用PostgreSQL特定的代码来完成上述操作,我会很好。
当你正在使用PostgreSQL我会建议使用它的搜索功能,通过textacular
你会发现,你需要安装和使用它的自述页上的所有内容。
有一个非常好的宝石用于搜索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 %>
也许你可以使用this railscast作为指导。是一个亲集,所以如果你没有专业账户,无论如何你可以检查github中的代码。
railscast很棒。虽然建议的机制不适用于搜索'mit'并且提出'Smith'。 –