2013-10-14 1 views
0

Я использую солнечное пятно для своего приложения. В моем приложении люди могут загружать звуки в свой аккаунт, и я использую солнечное пятно для исследования названия звуков. Но мой поиск обнаружил все звуки, и звучит не только пользователь.Sunspot поиск пользователя

В моем контроллере я писал, что:

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)

дополнительной информации, пожалуйста, обратитесь Railcast, Github, sunspot.github.io