我需要能夠搜索我的數據庫中的部分名稱。有沒有我可以安裝在我的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'。 –