限制图像显示在帖子中的最后六个

时间:2017-11-14 15:02:23

标签: ruby-on-rails ruby

我有一组从脚手架创建的帖子和使用paperclip gem上传的图片。我想在每个用户个人资料中显示用户最后帖子中的最后六张图片,为此我会过滤

<% @posts.limit(6).each do |tweet| %>
  <% if post.media.present? %> 
    <%= link_to image_tag(post.media.url(:thumb)), tweet %><br>
  <% end %>
<% end %>

在我的控制器中,我有这样的帖子

@posts = user.posts.order('created_at desc')

我的问题是。为什么使用上面的代码时,显示NO图像。在将计数增加到9时,我会显示三个图像,到12我会显示六个图像,依此类推

1 个答案:

答案 0 :(得分:3)

首先,您不应在视图中调用db / model(带limit)。直接在控制器中调用它: @posts = user.posts.order(created_at: :desc).limit(6)

然后,我会做一些调试,以确保你有你想要的记录。

例如,使用byebug并在设置@posts实例变量后立即调用它以查看它包含的内容。所有帖子都包含媒体吗?