如何对使用attr_encrypted gem加密的字段进行排序

时间:2014-07-12 22:08:17

标签: ruby-on-rails encryption attr-encrypted

我目前正在使用attr_encrypted gem来加密内容,以便只有拥有某个密钥的用户才能看到更广泛的组可用的部分文档。一切正常,直到我尝试在其中一个加密字段上对列表进行排序。我已多次阅读documentation并尝试了几种方法无济于事。

在CommunityMember模型中:

attr_encrypted :last_name, :key => :encryption_key

在我试过的控制器中

@list = CommunityMember.order("last_name")
AND
@list = CommunityMember.order("encrypted_#{last_name}")
AND
@list = CommunityMember.order("encrypted_#{'last_name'}")

没有产生预期的结果。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用sort_by方法

@list = CommunityMember.all.sort_by(&:last_name)