0

我要搜索的帖子在我的Rails應用程序。問題是,當我搜索一些東西時,它會向我顯示數據庫中的所有帖子,而不是特定的結果。這裏是posts_controller.rb動作:Rails應用程序 - 搜索行動顯示所有的結果,而不是具體的結果

def search 
    @posts=Post.where('text LIKE ?', "%#{params[:text]}%") 
end 

這是index.html.erb

<%=form_for(:post, :method=>'get', :url=>{:action=>'search', :html=> {:multipart=>true}}) do |f| %> 
    <p> 
     <%=f.text_field(:text)%> 
     <%=submit_tag("Search")%> 
    </p> 
    <%end%> 

這種搜索形式是什麼控制檯顯示我

Started GET "/posts/search?utf8=%E2%9C%93&post%5Btext%5D=ror&commit=Search" for 127.0.0.1 at 2015-12-18 17:48:07 +0500 
Processing by PostsController#search as HTML 
    Parameters: {"utf8"=>"√", "post"=>{"text"=>"ror"}, "commit"=>"Search"} 
    Post Load (0.0ms) SELECT `posts`.* FROM `posts` WHERE (text LIKE '%%') 

誰能解決這個問題?提前致謝。

P.S我on Rails的運行4.0.0

回答

3

你做錯了。 params[:text]應該是params[:post][:text]

def search 
    @posts=Post.where('text LIKE ?', "%#{params[:post][:text]}%") 
end 
+0

非常感謝。有效! –