¿Cómo representar dos colecciones paginadas y ajaxable en la misma vista?
En una vista de índice de Rails 3.2 estoy renderizando dos parciales.
<%= render :partial => 'users/user', :locals => {:users => @happy_users} %>
<%= render :partial => 'users/user', :locals => {:users => @sad_users} %>
y en el parcial
<% users.each do |user| %>
Show some fields
<% end %>
<%= will_paginate users %>
La paginación no funciona.
Si alterowill_paginate
para tomar una variable de instancia, la paginación funciona (pero la colección es incorrecta)
<%= will_paginate @users %>
¿Cómo puedo pasar los locales a will_paginate cuando se llama el parcial?
(Me doy cuenta de que también necesito pasar:param_name
Para conseguir esto funciona con dos colecciones. Por ahora solo estoy tratando de hacer funcionar una instancia.)
El parcial se representa a través de index.js.erb
$(".ajaxable-users").html('<%= escape_javascript(render("users/user")) %>');
Y el controlador parece
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
Gracias por cualquier idea.