0

我想从控制器中对数组进行排序,这不起作用,但不会引发错误。

def my_published
  @tests=Test.where(:user_id => current_user.id, :state=>'saved')
  @tests=@tests.sort { |p1, p2| p1.rating <=> p2.rating }
  respond_to do |format|
    format.html
    format.js{@tests}
  end
end

评分是一个整数。PS 要显示数组,我使用每种方法。

4

1 回答 1

1

试试这个结构:

@test = Test.where(:user_id=>current_user.id, :state=>'saved').order('rating')

您可以添加顺序的方向:

order('rating DESC') or order('rating ASC')
于 2013-04-20T23:00:58.440 回答