我有一组从脚手架创建的帖子和使用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我会显示六个图像,依此类推
答案 0 :(得分:3)
首先,您不应在视图中调用db / model(带limit
)。直接在控制器中调用它:
@posts = user.posts.order(created_at: :desc).limit(6)
然后,我会做一些调试,以确保你有你想要的记录。
例如,使用byebug并在设置@posts
实例变量后立即调用它以查看它包含的内容。所有帖子都包含媒体吗?