gpt4 book ai didi

ruby-on-rails - Ruby 嵌套数组迭代复杂度

转载 作者:太空宇宙 更新时间:2023-11-03 18:12:10 26 4
gpt4 key购买 nike

我正在编写简单的 Rails 应用程序,我想获得一组由用户评分的书籍,但评分必须 > 0。现在我想知道我的查询的复杂性:

@ratedBooks = Book.all.select { |book| @user.ratings.select { |rate| rate.rate != 0 }.map { |rate| rate.book }.include? book }

是 n^2 还是 Ruby 正在评估每本书的内部数组?我可以做得更快吗?

最佳答案

是的,您的代码非常低效,因为它在应用程序中进行了所有过滤。您可以让数据库完成工作:

Rating.joins(:book).includes(:book)
.where(user: current_user)
.where('rate > 0')
.map(&:book)

关于ruby-on-rails - Ruby 嵌套数组迭代复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32048197/

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