我有一个感觉很简单的问题,只是我似乎找不到答案。
我有一组记录:
@mymonkeys = @user.monkeys.all
我需要的是最近与之交互(创建或更新)的3只猴子。
我可以得到最近创造的猴子像这样:
@mymonkeys.sort_by(&:created_at).reverse!.take(3)
最近更新的猴子是这样的:
@mymonkeys.sort_by(&:updated_at).reverse!.take(3)
但是,是否有一行代码返回最近创建或更新的猴子?
非常感谢!
PS:
我看见了
this question其中提到了coalesce关键字,但我无法确定这是否是我要找的。

最佳答案

&:created_at{ |monkey| moneky.created_at }的语法糖。走过你想干什么的街区。

@mymonkeys.sort_by { |m| [m.created_at, m.updated_at].max }.reverse!.take(3)

08-25 18:49