我有一个架构问题要用rails应用来解决。我有图片画廊,人们可以投票(向上或向下)每天。这些图片根据他们的分数和他们的created_at时间戳进行排序,所以我们得到了48张图片的顶级图片库(即使一天中上传的图片超过48张)。
除了当天的顶部,您还可以看到昨天和…之前两天的顶部图像我想添加一个功能,允许任何人选择一个图像…时都可以看到图库的前一张图像换句话说,您可以选择图像5/48,并能够通过单击箭头转到4/48图像(前一张)…
同样,昨天的第一张顶部图像的上一张图像应该会将您带到今天…的最后一张顶部图像
这可能很简单,但是我找不到正确的查询来完成这项工作…有什么建议吗?
谢谢
发布于 2012-06-27 00:05:19
你说的是面包屑。我没有使用过Ruby,但这里有一个不同的问题,谁的答案可能是您正在寻找的
发布于 2012-06-27 05:49:29
如果您的查询已经按照正确的顺序获得了图像,并且知道当前的图像,那么很容易找到下一个/上一个图像。假设@id是您当前的镜像id,您可以这样做:
top_images = Image.order("created_at ASC, score DESC")
prev = top_images.where("id < ?", @id).limit(1)
next = top_images.where("id > ?", @id).limit(1)如果你想让“上一个”链接在到达当天排名靠前的图片后及时回到过去,这对ORDER BY created_at ASC, score DESC来说更有意义。
https://stackoverflow.com/questions/11211261
复制相似问题