2013-10-14 105 views
0

我爲我的應用程序使用太陽黑子。在我的應用程序中,人們可以在他的帳戶中上傳聲音,並使用太陽黑子研究聲音的名稱。但是我的搜索發現了所有的聲音,而不僅僅是用戶的聲音。太陽黑子搜索用戶

在我的控制器中我寫道:

if params[:search].present? 
    @search = Sunspot.search(Sound) do 
     fulltext params[:search] 


    end 

    @sounds = @search.results 
    else 
    @sounds = Sound.order(:title).all 
    end 

    respond_to do |format| 
    format.html # index.html.erb 
    format.json { render json: @sounds } 
    end 

但是,列表中的所有我的音樂的不僅是用戶的聲音。

我希望我的要求很明確。

感謝您的幫助。

回答

1

在太陽黑子有:用爭論那裏,我們可以通過自己的篩選器像

Sounds.search do 
    fulltext 'your text' 
    with :user_id, 1 
end 

if params[:search].present? 
    @search = Sunspot.search(Sound) do 
    fulltext params[:search] 
end 
    @sounds = @search.results 
else 
    @sounds = Sound.order(:title).all 
end 
respond_to do |format| 
    format.html # index.html.erb 
format.json { render json: @sounds } 
end 

反正@sounds其所有的值,所以你可以寫一個範圍by_user和你可以很容易地過濾它。

@sounds.by_user(@user.id)

更多信息,請參閱RailcastGithubsunspot.github.io