2012-03-09 73 views

回答

1

你需要用任何你想要的參數來調用搜索。相反的:

def index 
    @search = Article.search(params[:search]) 
    @articles = @search.all # load all matching records 
end 

你可能有

def show 
    @search = Article.search(params[:search]) 
    @articles = @search.where(:user_id => params [:user_id]).all # load all matching records 
end 

根據自定義Where創建

+0

好的。但我的搜索表單是在應用程序佈局,所以我必須在應用程序控制器上過濾索引電影:'def index_movies @search = Movie.search(params [:search]) @movies = @ search.all end 「我只是採取了錯誤的做法? (對不起,我無法格式化!) – fertech 2012-03-15 16:45:04

+0

您的搜索在'application.html.erb'? – ScottJShea 2012-03-15 16:55:00

+0

是的,我有一個在application.html.erb – fertech 2012-03-15 17:43:35

0

如果你想搜索行動,使用不同的路線,給url選項form_for

<%= form_for @search, :url => search_results_movies_path do |f| %>

+0

嗯,我有這在我的應用程序佈局上:'<%= form_for @search,search_results_movies_path do | f | %> <%= f.text_field:title_or_actors_or_director_contains,:class =>「span2」%> <% end %>'現在,如果我在與」電影「不同的控制器中開始搜索,它不會重定向到搜索結果。我能解決這個問題嗎? – fertech 2012-03-15 16:31:26

+0

@fertech你必須通過選項哈希傳遞網址,如下所示:<%= form_for @search,:url => search_results_movies_path do | f | %>' – graywh 2012-12-12 16:17:31