我有一个数组,它是来自一个 ActiveRecord 表的 ID。 所以我想根据与该 ID 关联的姓氏对该数组进行排序...我该怎么做? 澄清: array @students=[],里面是 ID,我想按 Student.find(ID).last 排序 谢谢。 多里扬
最佳答案
在没有完全理解问题的情况下,如果给你一个 id 列表,你可以在查询时按 last_name 排序:
Student.where("id IN (?)", @students).order(:last_name)
当然,这假设@students 是一个 id 数组,没有别的。
回应您的评论,我不确定您为什么需要这样做,但是如果您的@student 数组只是一个不了解 Student 模型及其属性的 id 列表,并且您仍然想订购那个数组,你可以这样做:
@students = Student.where("id IN (?)", @students).order(:last_name).collect(&:id)
这将返回一个按姓氏排序的 ID 数组。但同样,我真的不知道你在幕后发生了什么,我也不确定你在要求什么。
关于ruby-on-rails - ruby rails 3 : sort array based on data from ActiveRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8228114/