как разбить на страницы с массивом имен файлов, прочитанных из каталога - PullRequest
1 голос
/ 04 апреля 2011

У меня есть массив имен файлов, которые читаются из моего публичного каталога / images / pj_pics /.Массив содержит тысячи изображений, и я хочу, чтобы страница отображала не более 100 изображений на страницу.

Я посмотрел на камень will_paginate, но, похоже, он предназначен только для данных моделей (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')

1 Ответ

0 голосов
/ 04 апреля 2011

как насчет чего-то вроде:

in_groups_of(per_page)[page-1]

Не нужно беспокоиться о will_paginate для разбиения на страницы прямых массивов.

Кроме того, вместо использования записей Dir # вы можете использовать глобус, чтобы вы могли указать расширения файлов, которые вы хотите использовать БЕЗ удаления "." и ".."

...