2015-05-12 5 views
5

Ich habe etwas ähnliches zuvor gesehen, aber ich kann es nicht verstehen, und ich kann nicht um Hilfe wegen des niedrigen Rufs bitten, um zu kommentieren.Schienen will_paginate auf zwei Objekte auf der gleichen Seite funktioniert nicht

Also, ich stelle eine neue Frage. Ich benutze will_paginate Plug-in für zwei Objekte auf der gleichen Seite, und sie arbeiten, aber beide bewegen sich gleichzeitig. Wenn ich beispielsweise Seite 2 auf die erste Seite klicke, ändert sich Seite 2 sogar in der zweiten Seitennummerierung.

Dies ist mein Code in der Steuerung:

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

Und dies ist mein Code in der Ansicht:

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

Wie kann ich diese Arbeit separat zu machen?

Antwort

6

Ihr Controller verwendet denselben Parameter: Seite für jedes Modell. Ihre Ansicht verwendet dann genau diesen Parameter, um die Seite für beide Modelle in der Ansicht festzulegen. Sie können einen anderen Parameter definieren, um mit jedem Modell zu arbeiten. dh.

@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

Vielen Dank für diese Klarheit! Hat mir heute Nacht wirklich geholfen. – iamse7en

Verwandte Themen