Rails 4:按关联属性排序

时间:2015-09-29 22:00:29

标签: ruby-on-rails-4

人has_many:狗

狗属于:人

狗has_many:骨头

Bone belongs_to:dog

我想找到与给定人拥有的每只狗相关联的骨骼,并按骨骼排序结果<_p>

像...一样的东西。

bones = []
some_person.dogs.each do |dog|
    bones << dog.bones.first
end
bones.sort_by{ |e| e[:bone_buried_date] }

似乎很笨拙。想知道是否有更好的方法。

1 个答案:

答案 0 :(得分:0)

尝试这个

Bone.where(dog: Dog.where(person: some_person)).order(:bone_buried_date)