рельсовая пагинация с облаком тегов - PullRequest
2 голосов
/ 24 февраля 2011

я использую каминари.Он работает с цепочкой, и у меня есть объект ActiveRecord :: Relation, но я не могу понять, как избежать этой ошибки.

Код здесь, есть проблема с редактором stackoverflow: / http://pastie.org/1602799

Проблема в том, что когда я нажал на тег, я получил ошибку

undefined method `current_page' for #<ActiveRecord::Relation:0x9ee7cb8>

Я видел какое-то решение, но они для will_paginate и, кажется, устарели, как я могу правильно сделать нумерацию страниц для tag_cloud?Без нумерации страниц все работает отлично.

Я пробую и kaminari, и will_paginate, оба дают мне ошибки: (

Ответы [ 2 ]

3 голосов
/ 27 февраля 2011

Имеет ли это какой-либо эффект?

def tag
  @posts = Post.tagged_with(params[:id]).page(params[:page])
  @tags = Post.tag_counts_on(:tags)
  render :action => 'index'
end
2 голосов
/ 02 декабря 2011

Для тех из нас, кто хочет видеть код вопросов от pastie без необходимости переходить назад и вперед.(из-за этого было очень трудно увидеть, какое решение было на маленьком экране)

def index
    @posts = Post.page(params[:page]).per(5)
    tag_cloud
    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @posts }
    end
  end
  def tag
    @posts = Post.tagged_with(params[:id])
    @tags = Post.tag_counts_on(:tags)
    render :action => 'index'  
  end

  def tag_cloud
      @tags ||= Post.tag_counts_on(:tags)
  end

View

%h1 Listing posts
-tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class|
  = link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...