0

我需要能夠搜索我的數據庫中的部分名稱。有沒有我可以安裝在我的Rails項目中的好寶石來做到這一點?例如,如果我搜索'mit',應該出現一個名字'Smith'。不是強制性的,但如果拼音拼寫也會很好,那麼在搜索'Mich'後會出現'Mitch'。如果暱稱匹配,也會是一個不錯的獎勵。因此,搜索'吉姆'會帶來'詹姆斯'。Rails名稱搜索gem

我使用Heroku和PostgreSQL。如果使用PostgreSQL特定的代碼來完成上述操作,我會很好。

回答

0

當你正在使用PostgreSQL我會建議使用它的搜索功能,通過textacular

你會發現,你需要安裝和使用它的自述頁上的所有內容。

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 %> 
0

也許你可以使用this railscast作爲指導。是一個親集,所以如果你沒有專業賬戶,無論如何你可以檢查github中的代碼。

+0

railscast很棒。雖然建議的機制不適用於搜索'mit'並且提出'Smith'。 –