【发布时间】:2011-01-06 00:57:19
【问题描述】:
我正在控制器中执行此查询,并且“组”模型 has_many Users
@group= Group.find(params[:id])
@group 用于渲染此部分(部分将组的用户转储到表中)
<%= render :partial=>"user_list", :locals=>{:users=>@group.users} %>
传递给partial的局部变量'users'是一个User对象数组;
- !ruby/object:User
attributes:
updated_at: 2011-01-04 21:12:04
firstname: Bob
lastname: Smith
id: "15"
group_id: "2"
created_at: 2010-11-26 12:54:45
用户数组如何按“姓氏”排序?我已经尝试了几种不同的方法,但没有任何运气。试图按数组内的对象属性排序让我感到困惑。另外,我不明白如何在查询中使用 :order 来做到这一点(如何 :order 不是组,而是每个组的用户)?
也许我没有正确引用对象的名称(“用户”)?看起来这应该可以工作,因为它会产生“无方法”错误(或者如果在没有 ! 的情况下使用“sort_by”,则会产生动态常量分配错误):
users.sort_by! {|User| User.lastname}
感谢您的帮助。
【问题讨论】:
-
sort_by!不在 ruby 1.8.x 或 ruby 1.9.1 中;它是在 ruby 1.9.2 中添加的。
标签: ruby-on-rails