2011-09-24 47 views
2

我第一次使用太陽黑子,並試圖設置搜索。全文搜索似乎工作正常。然而,我有一個搜索框和多個用戶可以選擇布爾字段的過濾器。不知何故,搜索框工作正常,但solr並沒有把單個的布爾值作爲附加的過濾器。另外,當我沒有做任何搜索文本,只想通過布爾字段進行搜索時,什麼都不會發生。任何幫助,將不勝感激:使用太陽黑子的搜索表單/ solr

這是我的控制器:

@search = Project.search do 
    fulltext params[:search] 
    facet(:master_bedroom) 
    facet(:dining_room) 
    facet(:bath) 
    with(:master_bedroom, params[:mb]) if params[:mb].present? 
    with(:dining_room, params[:dr]) if params[:dr].present? 
    with(:bath, params[:p_bath]) if params[:p_bath].present? 
end  

我在模型中的字段:

searchable do 
text :description 
boolean :dining_room 
boolean :bath 
boolean :master_bedroom 
end 

和我的觀點,我有以下:

<%= form_tag projects_path, :method => :get do %> 

<%= text_field_tag :search, params[:search] %> 
<%= check_box_tag :bath, 'true'%> 
<%= submit_tag "Search", :name => nil %> 

<% end %> 

回答

0

變量命名時出錯。

+0

小心詳細說明這個錯誤在哪裏? –

+0

我已經忘記在過去的兩年:)。我隱約記得它是拼寫錯誤的變量之一。啊,這裏是在上面的代碼中:with(:bath,params [:p_bath])if params [:p_bath] .present?它使用「p_」,而我的其他代碼沒有。 – jignesh