2011-10-08 18 views
1

我開始使用太陽黑子在我的Rails 3應用程序中執行搜索,並且遇到了疑問。有沒有一種方法可以讓用戶選擇他/她想要搜索的字段?舉例來說,在我的應用程序,我們有:太陽黑子軌道 - 用戶可以更改要搜索的字段嗎?

class Project < ActiveRecord::Base 
    searchable do 
     text :name, :content, :keyword 
    end 
end 

並在視圖的默認搜索欄:

<%= form_tag projects_path, :method => :get do %> 
    <p> 
    <%= text_field_tag :search, params[:search] %> 
    <%= submit_tag "Search", :name => nil %> 
    </p> 
<% end %> 

我可以添加一個單選按鈕或類似的東西,使用戶可以爲了紀念它只是爲了按名稱或內容或關鍵字搜索?如果是的話,我該怎麼做?

非常感謝。

+0

我沒有時間進行適當的解釋,但我相信你可以傳遞一個塊的搜索方法,並提供選項。附加一個'if'子句以省略某些選項。在高級情況下,您可能需要創建多個索引。 – iain

回答

1

觀看關於這個主題的railscasts:http://railscasts.com/episodes/278-search-with-sunspot ..在它裏面,Ryan可以按月選擇用戶的查詢。

所以,如果每月在發:

def index 
    @search = Article.search do 
    fulltext params[:search] 
    with(:publish_month, params[:month]) if params[:month].present? 
    end 
    @articles = @search.results 
end