如何通过嵌套属性来命令嵌套属性

时间:2018-03-13 22:29:42

标签: ruby-on-rails

我有拥有个人资料的用户。我可以像这样显示个人资料:

@profiles.each do |p|
  puts p.user.last_name + " " + p.user.first_name
end 

我不知道如何通过last_name进行排序,因为它是一个嵌套属性,而不是直接成为Profiles表的一部分。我的用户模型订单正确,但不是在我通过他的个人资料调用用户名时。谢谢你的帮助。我应该制作一个" profiles_helper.rb"文件或我应该在视图中订购?

1 个答案:

答案 0 :(得分:1)

您可以使用group_byprofiles转换为数组,然后就可以使用了 基于sort_by

进行排序的last_name方法
profiles = @profiles.group_by{|p| p.user.last_name}
result = profiles.sort_by{|last_name, profiles| last_name}