活动管理员中面板的分页

时间:2012-12-24 06:37:12

标签: pagination activeadmin kaminari

我正在使用管理员面板的主动管理员。在用户秀页面上,我需要向朋友们展示。我有两个模型User和Friend。

我希望在“与面板的友谊”中添加分页,即user.friends阻止。

如何在一个面板上添加分页?这是我正在使用的代码。

show do
  attributes_table  do
    row("Photo") { |user| image_tag(user.facebook_photo_url) }
    rows :name, :sex,:city
  end

  panel 'Friendship with' do
    table_for user.friends do
      column "" do |friend|
        (link_to image_tag(friend.facebook_photo_url('small')), admin_friend_path(friend)) + "       ".html_safe +  (link_to friend.name, admin_user_path(friend))
      end

    end
  end  

  active_admin_comments
end

朋友模型实际上是Facebook的朋友,所以我不能在User模型上使用自引用连接(所以不要说使用一个模型而不是两个)并且我在同一页面上有一些其他面板。我需要确保每个小组都有自己的分页参数名称,以便它们不会相互冲突。

1 个答案:

答案 0 :(得分:18)

前段时间我写过这样的内容,在一个页面上为多个表添加分页。您可以通过更改paginated_collection参数来拥有多个表。

我希望这段代码可以提供帮助。

users = User.by_customer(customer.customer_id) #by_customer is scope
panel 'Users' do
  paginated_collection(users.page(params[:users_page]).per(15), param_name: 'users_page') do
    table_for(collection) do |cr|
      column(I18n.t("cr.start")) { |cr| I18n.l cr.start, format: :raw }
        #other columns...
     end
   end
 end