неопределенный метод `paginate' для

Я использую Ruby on Rails 3.2.1 и камень Kaminari 0.13.0.

Я добавил gem 'kaminari' в свой gemfile, затем запустил 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

person RydelHouse    schedule 07.04.2012    source источник
comment
вы перезапустили свой сервер rails?   -  person fl00r    schedule 07.04.2012
comment
Только что сделал это, но теперь я получил другую ошибку. undefined method 'current_page' for   -  person RydelHouse    schedule 07.04.2012
comment
undefined method 'current_page' for#<ActiveRecord::Relation:0x409fba8> Извлеченный исходный код (вокруг строки №5): <%= paginate @posts%>   -  person RydelHouse    schedule 07.04.2012
comment
Вы переопределяете разбитую на страницы коллекцию с помощью @posts = Post.order('posts.id DESC'). Удалите эту строку.   -  person mikdiet    schedule 07.04.2012
comment
Спасибо Спасибо спасибо!!! Теперь все работает идеально!!!   -  person RydelHouse    schedule 07.04.2012


Ответы (2)


Я думаю, вы можете сделать:

@posts = Post.order(:name).page(params[:page]).per(2), order: 'post_id desc',
                                                         per_page: 10

Надеюсь это поможет.

person Jax    schedule 04.10.2013

person    schedule
comment
Но как теперь я могу упорядочить посты по дате создания? - person RydelHouse; 07.04.2012
comment
просто передайте несколько параметров методу заказа, например Post.order(:name,'id DESC').page(params[:page]).per(2) - person alex; 07.04.2012