0

我有两个模型、帖子和评论,我试图显示最后 5 个评论标题。

<%= Post.limit(5).order('created_at desc') %>

给了我最后 5 个帖子。

我如何获得最后 5 条评论和标题?

4

2 回答 2

1

我认为您正在寻找:

Comment.select(:title).order('created_at desc').limit(5).map {|c| c.title}

这将为您提供最近创建的 5 条评论的标题数组。如果您需要其他属性,请将它们添加到名为 ( Comment.select([:title, :owner])) 的 select 方法中,或者删除 select 并获取所有注释属性。

于 2013-10-14T04:52:45.090 回答
1

要获得最后 5 条评论,您可以使用它

Comment.limit(5).order('created_at desc').select(:title)

显示帖子的标题,看起来您想要检索帖子的最后 5 条评论。

你可以这样得到:

<% Post.limit(5).order('created_at desc').each do |post| %>
  <% post.comments.select(:title).order('created_at desc').limit(5).each do |comment| %>
    <%= comment.title %>
  <% end %>
<% end %>

有两个问题:

注意:我无法测试这些,但我猜它们会起作用,或者至少会给你一些想法。

于 2013-10-14T04:58:05.683 回答