Blog › Sviluppo

Tips: Paginazione multipla con will_paginate

Will Paginate è la gemma più utilizzata per la paginazione in Ruby on Rails.

Succede a volte di dover paginare più liste diverse su una stessa pagina.

Ma cos'è un'impaginazione?

Con l'impaginazione possiamo limitare il numero di elementi che vengono recuperati dal database e visualizzati in un dato punto. Sbaglio se dico che guardare un pagina con migliaia di elementi ci fa scappare subito dal sito? Non sarebbe meglio mostrare una selezione di elementi per volta?

L'impaginazione fa esattamente questo, suddivide un elenco corposo di elementi in sequenze più contenute in base alle specifiche che gli diamo.

Questo tip mostra come è possibile visualizzare una lista paginata di prodotti ed una lista paginata di servizi su una stessa pagina utilizzando will_paginate.

Per cominciare bisognerà installare la gemma di impaginazione, con il codice seguente:

// in the Gemfile

gem 'will_paginate', '~> 3.1.0'


Giunti a questo punto, il focus verte nell’utilizzo di un parametro param_name personalizzato, sia nella view che nel controller.

Il codice della view sarà simile a questo:

1
2
3
4
5
6
7

<br />
# ...<br />
# la lista di prodotti va qui<br />
<%= will_paginate @products, :param_name => 'products_page', :prev_label => t('helpers.labels.previous'), :next_label => t('helpers.labels.next') %></p>
<p># la lista di servizi va qui<br />
<%= will_paginate @services, :param_name => 'services_page', :prev_label => t('helpers.labels.previous'), :next_label => t('helpers.labels.next') %><br />
# ...<br />

Mentre quest'altro sarà, invece, il codice del controller:

1
2
3
4
5
6
7

<br />
# ...<br />
def index<br />
@products = current_company.products.paginate(:page => params[:products_page], :per_page => 10)<br />
@services = current_company.products.paginate(:page => params[:services_page], :per_page => 10)<br />
end<br />
# ...<br />

 

In questo breve articolo abbiamo capito cos'è un'impaginazione e quanto will_paginate sia davvero semplice da configurare.

Per sapere di più sullo sviluppo in Ruby on Rails consulta questa sezione del sito. Buona programmazione!

Scopri dove l'AI può far risparmiare tempo alla tua azienda.

Un'ora con il nostro team: mappiamo i processi, individuiamo 2-3 casi d'uso concreti e ti diciamo cosa conviene fare per primo. Senza impegno.

Prenota l'analisi AI gratuita
Finanza agevolata

Agevolazioni e bandi per il tuo progetto software o AI.

Con partner specializzati verifichiamo a quali agevolazioni può accedere il tuo progetto e prepariamo documentazione e piano di finanziamento.

  • Iperammortamento 4.0 e 5.0
  • Bandi nazionali e regionali
  • Piano di finanziamento
Prenota l'analisi AI gratuita