2009-03-26 13 views
3

In meiner Rails App habe ich einen Abschnitt namens Situationen, die im Grunde eine textuelle Beschreibung einer Situation ist. Aber es gibt mehrere von ihnen. Ich möchte in der Lage sein, nur einzeln zu zeigen und jedes auf seiner eigenen Seite (die neuesten erstellten zuerst), und dann am Ende der Seite habe ich Links, die zu älteren und neueren Situationen gehen.Beste Datenstruktur und Design für dieses Feature

Angenommen, ich habe ein @situations Objekt in meinem Code, das alle Situationen enthält, die ich anzeigen möchte. Was soll ich als nächstes machen (im Controller und der Ansicht).

Antwort

3

würde ich Paginierung (will_paginate) und die Anzahl der Artikel pro Seite 1.

Dann können Sie current_page und next_page verwenden, um Ihre Links zu machen. Siehe source hier.

Andere, dass es nur eine Standard-Index Aktion mit den erforderlichen Änderungen für will_paginate wäre.

Diese screencast sollte Ihnen eine gute Idee geben, was Sie brauchen, aber seien Sie sich bewusst, dass es einige Änderungen am Plugin gab, seit es gemacht wurde. Details sind auf der will_paginate github wiki.

+0

Hier: http://gitroc.com/rdoc/mislav/will_paginate/8888651be8d6656bdf2378731d91a8badbaa2556/classes/WillPaginate/ViewHelpers.html#M000131 auf der Unterseite ist Informationen, wie Sie genau das tun, was Sie wollen. – klew

+0

Schön. Wie hast du das gefunden? – srboisvert

1

models/situation.rb

class Situation < ActiveRecord::Base 
    default_scope :order => 'created_at desc' 
end 

Controller/situations_controller.rb

class SituationsController < ActionController::Base 
    def index 
    @situations = Situation.all 
    end 
end 

views/Situationen/index.html.erb

<h1>Situations</h1> 
<%= render @situations %> 

views/Situationen/_situation. html.erb

<h2><%= situation.name -%></h2> 
<p><%= situation.description -%></p> 
+0

Was ist mit den Links an der Unterseite? Eine Situation pro Seite. – jonty

Verwandte Themen