【发布时间】:2018-04-02 15:14:44
【问题描述】:
我正在尝试对两个活动模型关系求和并按created_at 对其进行排序。
狗和猫的总和构成一个数组。所以我尝试通过created_at 和.sort_by( &:created_at ) 对这个数组进行排序,但我得到了这个奇怪的错误:
dogs = current_user.dogs
cats = current_user.cats
total = (dogs + cats).sort_by( &:created_at )
comparison of ActiveSupport::TimeWithZone with nil failed
还有另一种最好的方法来总结两个活动记录关系并通过 created_at 对其进行排序?
非常感谢。
【问题讨论】:
-
是
dogs和catsActiveRecord 型号吗?它们都有created_at值吗? -
是的,他们都有 created_at 列。几个小时后,我解决了它:它适用于: dogs = Dog.where(user_id: current_user.id)
标签: ruby-on-rails arrays ruby activerecord model