我有一个role
admin
或regular
.max_by { |x| x.admin? ? 1 : 0 }
的对象集合,并想要获得最宽松的对象。该用例用于在一组团队中查找用户对其团队成员资格的最高权限。
我可以像aggregation query
那样做一些hacky。
是否有更传统的方法来处理这种性质的东西?
答案 0 :(得分:1)
如果您将字符串或符号作为某些属性的值,则意味着它们在性质上不具有可比性。如果您对值之间存在比较概念,那么您应该首先将该属性设计为采用整数值。可以在诸如影响OS的安全级别的命令之类的位置看到为可比较属性提供整数值。在您的情况下,管理员1
,常规0
。如果要提供输出,则应在视图相关逻辑中将1
与admin和0
关联到常规。