我正在尝试创建一个旧列表的新列表,其中包含我的网站的所有“故事”。
每一个故事都有几个章节,每个章节都有一定的票数。我想要一个新的名单,所有的故事都按票数排序。
到目前为止这是我的代码:
def mostVoted
allStories = Story.all
allStories.each do |story|
votes = 0
story.chapters.each do |chapter|
votes = votes + chapter.votes.count
end
end
end
有人能帮我走得更远吗?谢谢!
最佳答案
def mostVoted
Story.all.sort_by do |story|
story.chapters.map do |chapter|
chapter.votes.count
end.reduce(0, :+)
end
end
关于ruby-on-rails - 根据票数对列表进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24998764/