Wie werden zwei paginierte und ajaxable Sammlungen in derselben Ansicht gerendert?
In einer Rails 3.2-Indexansicht werden zwei Teiltöne gerendert.
<%= render :partial => 'users/user', :locals => {:users => @happy_users} %>
<%= render :partial => 'users/user', :locals => {:users => @sad_users} %>
und im teil
<% users.each do |user| %>
Show some fields
<% end %>
<%= will_paginate users %>
Die Paginierung funktioniert nicht.
Wenn ich mich änderewill_paginate
um eine Instanzvariable zu nehmen, funktioniert die Paginierung (aber die falsche Sammlung)
<%= will_paginate @users %>
Wie kann ich Locals an will_paginate übergeben, wenn der Partial aufgerufen wird?
(Mir ist klar, dass ich auch passen muss:param_name
um dies mit zwei Sammlungen zum Laufen zu bringen. Im Moment versuche ich nur, eine Instanz zum Laufen zu bringen.)
Der Teil wird über index.js.erb gerendert
$(".ajaxable-users").html('<%= escape_javascript(render("users/user")) %>');
Und der Controller sieht aus wie
def index
@users = User.scoped.paginate(:page => params[:page], :per_page => 5)
@happy_users = User.happy_scope.paginate(:page => params[:page], :per_page => 5)
@sad_users = User.happy_scope.paginate(:page => params[:page], :per_page => 5)
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @users }
format.json { render :json => @users }
format.js
end
end
Vielen Dank für alle Ideen.