0

我正在尝试使用 Kaminari gem 对一系列照片进行分页。图像显示在 Dog 模型的展示动作中,并且照片已使用 CarrierWave 上传到名为 DogPhoto 的单独模型。DogPhoto 属于Dog,Dog 有很多DogPhoto。

Dog 控制器的 show 动作如下所示(@dog 加载在前置过滤器中):

def show
  @dog_photos = @dog.dog_photos.page(params[:page]).per(1)
end

显示视图如下所示:

<div id="dog_photos">
  <% if @dog_photos.count > 0 %>
    <% @dog_photos.each do |dog_photo| %>
      <%= image_tag dog_photo.photo_url %>
    <% end %>
    <%= paginate @dog_photos %>
  <% else %>
    <%= image_tag("dog-with-no-photo.png", :border => false) %>
  <% end %>
</div>

加载页面时,会针对正确数量的照片(每张照片一页)显示分页链接。但是,仅显示第一张照片。当用户点击“2”时,它会显示 dog-with-no-photo.png 后备图像。

4

1 回答 1

0

您应该摆脱操作中的.per(1)代码,show因为它将每页的图片数量限制为一张。

于 2011-03-31T10:09:16.333 回答