gpt4 book ai didi

ruby-on-rails - 仅显示上周创建的帖子

转载 作者:数据小太阳 更新时间:2023-10-29 07:03:58 25 4
gpt4 key购买 nike

我希望能够显示帖子并按几个标准对它们进行排序,首先是根据对它们的投票数量,其次是根据它们的创建日期。我不想显示超过一周的帖子,所以只显示上周的帖子。我试过这样做:

 <%= render @posts.sort_by { |post| post.votes.count if post.created_at < 1.week.ago.utc }.reverse %>

但它给了我一个 NilClass 与 2 比较失败的错误

我知道该代码仅通过按投票计数对帖子进行排序来工作,但我也想限制时间,所以有人可以告诉我如何做到这一点。我还是新手,很抱歉这么简单。

最佳答案

@Salil 的解决方案没问题,但我建议添加 counter_cache 列(http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html)并将 recent_post 代码(来自此评论:https://stackoverflow.com/a/11498634/1392074)更改为:

def self.recent_posts
Post.where("created_at >= ?", 1.week.ago.utc).order("votes_count DESC, created_at DESC")
end

关于ruby-on-rails - 仅显示上周创建的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11498110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com