我正在尝试使用 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 后备图像。