我有一个感觉很简单的问题,只是我似乎找不到答案。
我有一组记录:@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)