ruby-on-rails - 将帖子中显示的图片限制为最后六张

标签 ruby-on-rails ruby

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

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

在我的 Controller 中,我这样安排帖子

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

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

最佳答案

首先,您不应该在 View 中调用 db/model(使用 limit)。直接在 Controller 中调用它: @posts = user.posts.order(created_at: :desc).limit(6)

然后,我会进行一些调试以确保您拥有所需的记录。

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

关于ruby-on-rails - 将帖子中显示的图片限制为最后六张,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47288949/

相关文章:

mysql - 返回mysql和rails 3中具有共同词的记录

ruby-on-rails - 如何解决 Gem 弃用问题?

ruby - 解释 ruby​​ 中具有相同名称和其他属性的方法和变量的行为

javascript - 用于测试函数调用失败的 Jasmine 测试

ruby-on-rails - 当我尝试使用 omniauth-google-oauth2 gem 进行身份验证时,没有路由匹配 [GET] "/auth/google_apps"

ruby-on-rails - 使用 Ransacker 过滤关系

ruby-on-rails - "omniauth-twitter"电子邮件 ID 未从 ruby​​ on rails 中的 Twitter 获取

ruby - Ruby 的停用词列表

ruby - rails ransack gem 搜索 json 列

ruby-on-rails - Presenter 的未定义局部变量或方法 `params'