2011-04-03 16 views
1

我有一個從我的public/images/pj_pics /目錄讀取的文件名數組。該陣列有成千上萬的圖像,我希望每個頁面最多顯示100個圖像。如何與從目錄中讀取的文件名數組分頁

我已經看過了will_paginate gem是,但它似乎只設計用於從模型數據(https://github.com/mislav/will_paginate/wiki)

以下是我讀的文件名到@f_ary:

class AvatarsController < ApplicationController 
    def index 
    @title = "pixelated avatars" 
    @f_ary = Dir.entries("public/images/pj_pics/") 
    @f_ary.delete(".") 
    @f_ary.delete("..") 
    @f_ary = @f_ary.each_slice(25).to_a 
    end 
end 

我顯示一大桌的相似圖片:

%table 
    %tbody 
    - @f_ary.each do |row| 
     %tr 
     - row.each do |column| 
      %td= link_to image_tag("pj_pics/#{column}", :alt => 'img') 
+0

我使用haml作爲視圖 – sybind 2011-04-03 22:40:59

回答

0

怎麼是這樣的:

in_groups_of(per_page)[page-1] 

不需要打擾will_paginate分頁直接數組。

此外,您可以使用glob來代替使用Dir#條目,這樣您可以指定要在不刪除「。」的情況下使用的文件的擴展名。和「..」

+0

你能提供更多示例代碼來展示我將如何使用它嗎? – sybind 2011-04-10 14:29:59

+0

那麼,你需要考慮你的問題是一個數組,而不是一個可能的ActiveRecord集合。哪一點特別令人困惑,glob位或數組方法? – 2011-04-10 17:08:19