2

我正在使用 kaminari。它与链一起工作,我有 ActiveRecord::Relation 对象,但我不知道如何避免这个错误。

这里的代码,stackoverflow redactor 有问题:/ http://pastie.org/1602799

问题是当我点击标签时,我得到了错误

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

我看到了一些解决方案,但是它们用于 will_paginate 并且似乎已被弃用,我怎样才能正确地为 tag_cloud 进行分页?没有分页,一切都可以完美运行。

我尝试了 kaminari 和 will_paginate,都给了我错误:(

4

2 回答 2

3

这有什么影响吗?

def tag
  @posts = Post.tagged_with(params[:id]).page(params[:page])
  @tags = Post.tag_counts_on(:tags)
  render :action => 'index'
end
于 2011-02-27T15:56:53.597 回答
2

对于我们这些想要从馅饼中查看问题代码而无需来回切换的人。(很难在小屏幕上看到解决方案)

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
于 2011-12-02T19:43:11.123 回答