初级练习加分题,解决根据投票分数来排序topics

Published on:

如何让页面根据投票来自动排序topics呢?

知道结果后,发现确实不难,不过如果没人教我,我也不知道咋办,我是个菜鸟啊。

这个教我的老师是谁呢?

Google呗。

我看了这道题目,真的不知道该咋办,然后我转念一想,我并不是第一个参加全栈营的人,这几万人都参加了,肯定有人早就解决了这个问题,那么官方的博客账号logdown里面有相关的内容。

于是,我打开Google搜索:

logdown "加分题"

果然,搜出一大批答案:

那么我的解法来了:

直接修改views/topics/index/html.rb

<tbody>下那一行代码改成:

<% @topics.sort_by {|topic| -topic.votes.count}.each do |topic| %>

topic.votes.count是按照投票总数从小到大排列,加一个-,就是相反的排序。

酱紫,就解决问题了。


其实,第二种方法,具体是在controller里面改动:

app/controllers/topics_controller.rb
def index
    @topics = Topic.all.sort_by { |topic| -topic.votes.count}
  end

Comments

comments powered by Disqus