我有两个模型、帖子和评论,我试图显示最后 5 个评论标题。
<%= Post.limit(5).order('created_at desc') %>
给了我最后 5 个帖子。
我如何获得最后 5 条评论和标题?
我有两个模型、帖子和评论,我试图显示最后 5 个评论标题。
<%= Post.limit(5).order('created_at desc') %>
给了我最后 5 个帖子。
我如何获得最后 5 条评论和标题?
我认为您正在寻找:
Comment.select(:title).order('created_at desc').limit(5).map {|c| c.title}
这将为您提供最近创建的 5 条评论的标题数组。如果您需要其他属性,请将它们添加到名为 ( Comment.select([:title, :owner])
) 的 select 方法中,或者删除 select 并获取所有注释属性。
要获得最后 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 %>
有两个问题:
注意:我无法测试这些,但我猜它们会起作用,或者至少会给你一些想法。