编辑
那么,当我尝试单击上一个但尚未分页时会发生什么?Heroku中没有错误或消息。它返回什么吗?我以前的方法意味着,如果有以前的链接,肯定会有更多照片。
模态中的上一个和下一个按钮可以正常工作,直到我看到已分页的照片的末尾为止。因此,例如,每页有9张照片。如果我在照片的第一页上,而我在最后一张照片上单击上一个,则它将不会打开第十张照片。链接是正确的,但是模态无法打开照片,因为控制器尚未将其分页。
show.html.erb
<% @photos.in_groups_of(3, false).each do |group| %>
<div class="row instagram">
<% group.each do |photo| %>
<a data-toggle="modal" href=<%="#"+"#{photo.id}"%>>
...
<div class="modal" id=<%="#{photo.id}"%> tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
...
<a class="modaldirection" data-dismiss="modal" data-toggle="modal" href=<%="#"+"#{photo.previous_modal.id}"%>>
类Photo <ActiveRecord :: Base
def previous_modal
if self.class.where("id < ?", id).last == nil
return self
else
return self.class.where("id < ?", id).last
end
end
类UsersController
def show
@user = User.find(params[:id])
@photos = @user.photos.approved.order('created_at desc').paginate(page: params[:page], per_page: 9)
respond_to do |format|
format.html
format.js
end
end
不确定我是否完全理解这个问题。但是通常,在制作图库时,您会在服务器上输出所有照片的列表...
<div class="galleria">
<% @photos.each do |photo| %>
<%= image_tag photo %>
<% end %>
</div>
...然后使用JavaScript使其成为一个交互式画廊。例如使用Galleria:
<script>
Galleria.loadTheme('galleria/themes/classic/galleria.classic.min.js');
Galleria.run('.galleria');
</script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句