2012-04-07 59 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

希望它有帮助。

相关问题