我正在使用RoR 5.如何从对象数组中选择唯一属性值?我试过了
attr_values = my_objects.uniq{|r| r.attr_name}
但是“attr_values”是“my_objects”所包含的相同类型的对象数组。我希望数组是“r.attr_name。”类型的对象。
答案 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
。