在Rails中使用带有哈希键的Will_paginate

时间:2014-11-06 10:08:00

标签: ruby-on-rails hash will-paginate

我有一个哈希,其中键是对象,而值是另一个对象的数组。在视图中,我想在键中显示包含这些对象的列表并对其进行分页。但是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 !@hash[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 个答案:

答案 0 :(得分:1)

您必须使用自定义分页,例如:

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

有关详细信息,请参阅here