2015-10-09 102 views
1

我有一個簡單的Rails應用程序,其索引頁顯示59個帖子。Post.count在搜索結果頁面上無法正常工作(Rails)

問題是,如果我搜索了某些內容,Post.count會繼續向我顯示索引頁上的帖子的原始數量 - 例如,如果我搜索名爲「Quilon」的帖子,則會顯示搜索結果只有1個帖子,但Post.count仍然顯示59的原始帖子號碼。

我該如何解決這個問題?

INDEX.HTML.ERB CODE

<%= Post.count %> 

搜索功能Posts控制器

def index 
    @posts = Post.all 
    if params[:search] 
     @posts = @posts.search(params[:search]).order("created_at DESC") 
    end 
    if params[:zagat_status].present? 
     @posts = @posts.zagat_status(params[:zagat_status]).order("created_at DESC") 
    end 
    end 
+1

嘗試'<%= @ posts.count%>' – Pavan

+0

我認爲你需要更換@ posts.count –

+0

@ posts.count工作。謝謝! – hikmatyar

回答

1

您應該給<%= @posts.count %>而不是<%= Post.count %><%= Post.count %>返回count全部記錄。它與

select count(*) from "posts" 

所以條件被忽略。而不是

2

在你的索引行動你縮小使用一些條件的職位,所以你應該運行在@posts變量,而不是在型號Post本身。

這意味着你想要使用@posts.count

1

使用@ posts.count Post.count的