如何获取对象数组的唯一属性值?

时间:2017-10-05 14:24:21

标签: ruby-on-rails arrays ruby-on-rails-5 unique

我正在使用RoR 5.如何从对象数组中选择唯一属性值?我试过了

attr_values = my_objects.uniq{|r| r.attr_name}

但是“attr_values”是“my_objects”所包含的相同类型的对象数组。我希望数组是“r.attr_name。”类型的对象。

1 个答案:

答案 0 :(得分:1)

你的帖子不清楚,但如果那个"阵列"而是ActiveRecord::Relation,您可以执行.distinct.pluck(:attr_name),例如:User.distinct.pluck(:role) => SELECT DISTINCT "users"."role" FROM "users"

如果它实际上是一个数组(my_objects.is_a? Array),则解决方案为my_objects.map(&:attr_name).uniq