2015-05-12 30 views
5

Ho visto qualcosa di simile chiesto prima, ma non riesco a capirlo, e non posso chiedere aiuto lì a causa della scarsa reputazione di commentare.Rails will_paginate su due oggetti nella stessa pagina non funziona

Quindi, sto facendo una nuova domanda. Sto usando will_paginate plug-in per due oggetti sulla stessa pagina, e stanno funzionando, ma entrambi si muovono simultaneamente. Ad esempio, se clicco sulla prima pagina 2, la pagina 2 cambia anche nella seconda impaginazione.

Questo è il mio codice nel controller:

@tasks = @student.tasks.paginate(page: params[:page], :per_page => 2) 
    @plans = @student.plans.paginate(page: params[:page], :per_page => 2)   

E questo è il mio codice nella visualizzazione:

<%= will_paginate @tasks %> 
    <%= will_paginate @plans %> 

Come posso fare questo lavoro separatamente?

risposta

6

Il controller utilizza lo stesso parametro: pagina per ciascun modello. La tua vista quindi usa quel parametro per impostare la pagina per entrambi i modelli nella vista. È possibile definire un parametro diverso per lavorare con ciascun modello. vale a dire.

@tasks = @student.tasks.paginate(page: params[:tasks_page], :per_page => 2) 
@plans = @student.plans.paginate(page: params[:plans_page], :per_page => 2)   

<%= will_paginate @tasks, :param_name => 'tasks_page'%> 
<%= will_paginate @plans, :param_name => 'plans_page'%> 
+0

Grazie per tale chiarezza! Mi ha davvero aiutato stasera. – iamse7en

Problemi correlati