Rails 3 - 排序问题

Kom*_*mbo 0 ruby arrays sorting ruby-on-rails

我试图通过一个未存储在我的数据库中但是模型方法的值在视图中对我的模型进行排序.

我的文章的分数方法,基本上只是文章评论+投票_福来自vote_fu.在我的控制器中,我的文章分配如下:

@articles = @topic.articles
@articles.sort! { |article| article.score }
Run Code Online (Sandbox Code Playgroud)

但是,在查看我的页面时,文章似乎随机显示在页面上.在我的article.rb模型中,得分定义为:

def score
  self.comments.count + self.votes_for
end
Run Code Online (Sandbox Code Playgroud)

无论如何,我没有任何分页或类似的东西,这是一个非常基本的应用程序.只是想知道是否有人可以给我一些指示,我试图以这种方式排序我做错了什么.

Dog*_*ert 7

你需要使用.sort_by它.

@articles = @articles.sort_by { |article| article.score }
Run Code Online (Sandbox Code Playgroud)