【发布时间】:2016-08-18 06:37:38
【问题描述】:
我一直在到处搜索,但似乎在任何地方都找不到这个问题。在 Rails 5.0.0.beta3 中,我需要使用关联对我的 @record = user.records 进行排序,并且它是记录。
排序是这样的。
@record = @record.sort_by { |rec|
If user.fav_record.find(rec.id)
User.fav_record(rec.id).created_at
Else
rec.created_at
End
这只是我所做的一个例子。但一切都很好。
问题: 这将返回一个数组,而不是一个 Active Record 类。
我已经尽一切努力让它返回一个 Active Record 类。我已将排序的元素推入一个 ID 数组并尝试按该顺序提取它们,我尝试过映射。我得到的每个结果都将我以前的活动记录变成一个数组或散列。现在我需要它回到活动记录中。有谁知道如何将该活动记录的数组或哈希转换回活动记录类?
【问题讨论】:
-
您所说的 ActiveRecord 类是指一个关系(您可以调用诸如
where之类的方法)吗? -
是的。抱歉,我不在电脑旁,所以我根据记忆提出了这个问题。但我不能做一个 where 子句。
-
我已经有记录了。那时我需要进行排序。并转换回活动记录关系。这甚至可能吗?
-
@FelixRamirez 使用
order而不是sortmerhods
标签: ruby-on-rails arrays ruby activerecord hash