2012-04-07 70 views
2

我使用Ruby on Rails 3.2.1和Kaminari gem 0.13.0。未定義的方法`paginate'爲

我在我的gemfile中添加了gem 'kaminari',然後運行Bundle install

在控制器我有@posts = Post.order("name").page(params[:page])

鑑於:

<%= paginate @posts%> 
     <% @posts.each{|posts| %> 
      <h1 class="title"><%= link_to posts.title, posts %></h1> 
       <p class="byline">Raksts izveidots: <%= posts.created_at.utc.strftime("%d.%m.%Y") %></p> 
       <div class="entry"> 
        <p><%= posts.content %></p> 
       </div> 
      <p class="meta"><a href="#" class="more">Read More</a> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <a href="#" class="comments">Comments</a> (33)</p>   
     <% } %> 
     <%= paginate @posts%> 

但結果我有undefined method 'paginate' for #<#<Class:0x3cf68b8>:0x2ab92b0>

任何人都可以幫助我嗎?

class PostsController < ApplicationController 
    # GET /posts 
    # GET /posts.json 
    def index 
     @posts = Post.order(:name).page(params[:page]).per(2) 
     @posts = Post.order('posts.id DESC') 


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

你重新啓動了你的Rails服務器嗎? – fl00r 2012-04-07 12:29:18

+0

剛做完了,但現在我又發生了一個錯誤。 '對於' – RydelHouse 2012-04-07 12:46:31

+0

,未定義的方法'current_page'用於...什麼? – fl00r 2012-04-07 12:48:50

回答

1
def index 
    @posts = Post.order(:name).page(params[:page]).per(2) 

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

但是,我現在可以通過創建日期來訂購帖子嗎? – RydelHouse 2012-04-07 14:13:37

+0

只是將多個參數傳遞給訂單方法,如Post.order(:name,'id DESC')。page(params [:page])。per(2) – alex 2012-04-07 14:23:35

1

認爲你可以這樣做:

@posts = Post.order(:名稱)。第(PARAMS [:網頁])。每個(2),爲了: 'POST_ID遞減' , per_page:10

希望它有幫助。

相關問題