2 Stimmen

Schienenpaginierung mit Tag Cloud

Ich benutze Kaminari. Es funktioniert mit einer Kette und ich habe ActiveRecord::Relation Objekt, aber ich kann nicht herausfinden, wie dieser Fehler zu vermeiden.

Code hier, habe Probleme mit Stackoverflow Redactor :/ http://pastie.org/1602799

Das Problem ist, wenn ich auf Tag drücke, erhalte ich die Fehlermeldung

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

Ich sah einige Lösung, aber sie für will_paginate und scheint veraltet, wie kann ich tun Pagination für tag_cloud richtig? Ohne Paginierung alles perfekt funktionieren.

Ich versuche sowohl kaminari als auch will_paginate, beide geben mir Fehler :(

3voto

Reuben Mallaby Punkte 5670

Hat dies irgendwelche Auswirkungen?

def tag
  @posts = Post.tagged_with(params[:id]).page(params[:page])
  @tags = Post.tag_counts_on(:tags)
  render :action => 'index'
end

2voto

trcarden Punkte 881

Für diejenigen von uns, die den Code der Fragen aus dem Pasticcio sehen wollen, ohne hin und her wechseln zu müssen. (Auf einem kleinen Bildschirm war es wirklich schwer zu sehen, was die Lösung war)

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X