我正在尝试按数组@users
的数量对数组进行排序posts
。这是我的控制器中的内容:
@users = User.includes([:posts]).where("user_type = ?", "A")
@users.sort {|a,b| (a.posts.size <=> b.posts.size)}
以下是我的观点:
<% @users.each do |user| %>
<%= user.name %>: <%= user.posts.size %>
<br>
<% end %>
我的用户列表非常随机,并且没有正确排序。如果我没记错的话,<=>
操作符就是我想要使用的。我想返回1
if a
has more posts than b
, -1
if b
has more posts than a
and 0
ifa
并且b
有相同数量的帖子。