Ruby on rails 使用Carrierwave和Kaminari进行图像分页

Ruby on rails 使用Carrierwave和Kaminari进行图像分页,ruby-on-rails,ruby-on-rails-3,pagination,carrierwave,Ruby On Rails,Ruby On Rails 3,Pagination,Carrierwave,我正在尝试使用Kaminari gem对一系列照片进行分页。这些图像将显示在狗模型的ShowAction中,并且这些照片已使用CarrierWave上传到一个名为DogPhoto的单独模型中。狗照片属于狗,狗有很多狗照片 狗控制器的显示动作看起来像是在before过滤器中加载了@Dog: def show @dog_photos = @dog.dog_photos.page(params[:page]).per(1) end 显示视图如下所示: <div id="dog_photos

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

狗控制器的显示动作看起来像是在before过滤器中加载了@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回退图像。

您应该在显示操作中删除.per1代码,因为它将每页的图片数量限制为仅一张。

谢谢您的评论。我的目标是每页显示一张照片。通过删除.per1,它将在一页中显示所有照片。目标是让用户通过单击Next>>,一次浏览一张照片。这是罪过。您是否尝试反转页面和per方法的顺序?反转这些方法会引发未定义的方法“per”错误。