2014-11-06 75 views
0

我有一个散列,其中的键是对象,另一个对象的值数组。在一个视图中,我想用键显示这些对象的列表并为它们分页。但will_paginate似乎并不与哈希工作...在Rails中使用带散列键的Will_paginate

这里是我的控制器:

@hash = Hash.new 

articles_pending_review.each do |a| 
    duplicates_ids = JSON.parse(a.properties)["duplicates"].split(',').collect! {|n| n.to_i} 

    duplicates_ids.each do |d| 
     article = Article.unscoped.find(d) 
     @hash[article] = [] if [email protected][article] 

     @hash[article].push(a) unless @hash[article].include?(a) 
    end 
end 

而我的观点:

%ul.articles_list 
    - @hash.each do |article_key, duplicates_array| 
     %li 
      %p= article_key.name 

      %ul.article_duplicates_list 
       - duplicates_array.each do |d| 
        %li= d.name 

我发现类似的问题,但我不知道知道如何将它们应用于我的案例。任何人都可以帮我吗?谢谢!

回答

1

你必须使用自定义分页,e.g:

@paginated_articles = WillPaginate::Collection.create(current_page, per_page, total) do |pager| 
    pager.replace @hash.keys 
end 

here获取更多信息。