排序用户对象

use*_*650 3 ruby scope ruby-on-rails

@users = User.all
Run Code Online (Sandbox Code Playgroud)
 <% @users.each do |user| %>

     <%= user.name %>

 <% end %>
Run Code Online (Sandbox Code Playgroud)

我如何按名称排序,而不是id

Mar*_*pka 6

@users = User.order('name ASC')
Run Code Online (Sandbox Code Playgroud)

在你的控制器中

如建议的那样,您也可以设置default_scope而不是User.order('name asc')随处调用:

default_scope order('name ASC')
Run Code Online (Sandbox Code Playgroud)

或者您可以设置范围:

scope :name_ordered, order('name ASC')
Run Code Online (Sandbox Code Playgroud)

并称之为

User.name_ordered
Run Code Online (Sandbox Code Playgroud)