我正在使用ransack在我的rails 3.2應用程序中使用postgres作爲數據庫進行搜索。如果在搜索詞中有「空格」,則搜索搜索不起作用
我有一個發票模型,並且每個發票屬於買主。以下是我在索引頁面中的搜索表單。
的意見/發票/ index.html.erb
<%= search_form_for @search do |f| %>
<%= f.text_field :buyer_name_cont %>
<%= f.submit "Search"%>
<% end %>
這是我的控制器代碼。
控制器/ invoices_controller.rb
def index
@search = Invoice.search(params[:q])
@[email protected](:distinct => true).paginate(:page => params[:page], :per_page => GlobalConstants::PER_PAGE)
respond_to do |format|
format.html # index.html.erb
format.json { render json: @invoices }
end
end
比方說,一個發票是有其買家的名字 「蝙蝠人」。
如果我搜索「蝙蝠」,我得到結果的發票。 再次,如果我搜索「人」,我會得到結果的發票。 但是,如果我搜索「蝙蝠俠」,我沒有得到結果的發票。
我知道這可能是微不足道的,但我無法解決。
更新
當我試圖使用pgAdmin的直接在數據庫中形成的SQL查詢,我意識到,在數據庫中有多個空格在買家的名字,像「Bat.space.space.space.Man 」。
能做些什麼讓「Bat.space.Man」搜索在結果中找到「Bat.space.space.space.Man」?