2010-10-12 10 views
7

C'è qualche plugin/gemma o un modo semplice per realizzare una funzionalità di impaginazione come Twitter?Impaginazione Ajax come Twitter

Ciò significa che viene visualizzato un pulsante "Altro" che mostra più post (ad esempio) sotto una volta fatto clic, utilizzando Ajax.

Se c'è un modo semplice per modificare qualcosa dal plugin will_paginate, sarebbe utile anche.

risposta

1

Il wiki del progetto will_paginate ha an entry on Ajax pagination. È davvero molto semplice.

+0

Sì. Ho provato questo, ma anche se funziona, quando clicco su una qualsiasi delle pagine del plugin, usando firebug ho visto che sta eseguendo molte chiamate ajax ... sai perché questo può accadere? –

+0

No, non lo faccio. Dovrei vedere la tua implementazione e le chiamate che sta facendo. –

1

Io uso impaginazione simile a Twitter in una delle mie applicazioni, quindi mi limiterò a puntare a che:

http://github.com/tsigo/jugglf/blob/master/lib/twitter_pagination.rb - Ganci in will_paginate per visualizzare il pulsante "More"

http://github.com/tsigo/jugglf/blob/master/app/views/members/raids/index.html.haml - Il punto di vista utilizzando il renderer dall'alto

http://github.com/tsigo/jugglf/blob/master/app/views/members/raids/index.js.erb - il punto di vista RJS che aggiunge il set accanto alla pagina

+0

Potresti dirmi come si usa? Ho aggiunto i tre file ma funziona ancora adesso. Credo che mi manchi qualcosa. –

+0

Beh ... sì, quelli sono solo esempi. Certo che non funzioneranno se le lasci cadere. –

+0

Potresti spiegarmi come funziona, per favore? –

3

ho aggiunto un pulsante simile a Twitter 'piu' su App attualmente sto lavorando su. Ho usato il metodo esatto da http://railscasts.com/episodes/114-endless-page.

In questa soluzione, ulteriori risultati vengono aggiunti nella parte inferiore del div dopo che si scorre verso il basso fino alla fine della pagina risultando in una pagina senza fine. Ho cambiato il javascript in modo che inviasse la richiesta Ajax per aggiungere altri risultati alla parte inferiore del div solo quando si fa clic sul pulsante 'carica altro'.