我正在使用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”?