데이터베이스로 postgres를 사용하는 내 레일 3.2 응용 프로그램에서 검색을 위해 ransack을 사용하고 있습니다.검색어에 '공백'이 있으면 Ransack 검색이 작동하지 않습니다.
저는 인보이스 모델을 가지고 있으며 모든 구매 서가 구매자에게 속해 있습니다. 아래는 색인 페이지에서 내 검색 양식입니다.
보기/송장 여기에/index.html.erb
<%= search_form_for @search do |f| %>
<%= f.text_field :buyer_name_cont %>
<%= f.submit "Search"%>
<% end %>
그리고 내 컨트롤러 코드입니다.
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
이의이 송장 구매자 가진 이름 "박쥐 맨"의가 있다고 가정 해 봅시다
컨트롤러/invoices_controller.rb.
"박쥐"를 검색하면 결과로 인보이스를받습니다. "Man"을 검색하면 결과에 인보이스가 표시됩니다. 하지만 "Bat Man"을 검색하면 결과에 인보이스가 표시되지 않습니다.
나는 그것이 사소한 것일 수도 있지만 해결할 수는 없다는 것을 알고 있습니다.
는 업데이트 내가 pgAdmin를 사용하여 데이터베이스에 직접 형성 SQL 쿼리를 시도
, 나는 데이터베이스에 구매자 이름에 여러 공간, Bat.space.space.space.Man "같은 것이 있었다는 것을 깨달았다 ".
"Bat.space.Man"검색 결과에서도 "Bat.space.space.space.Man"을 찾을 수 있습니까?