如何根据ruby中的特定索引获取嵌套二维数组中的唯一值

问题描述

如何根据二维数组的特定索引获得唯一的二维嵌套数组?

基本上,我想在下拉列表中显示属于某个关联模型的唯一名称。这是查询的样子

Product.where(live: true).includes(:primary_concern).map{|q| [q.primary_concern.name,q.id]}

但它返回所有名称,而我只想在下拉列表中显示唯一名称

我尝试使用 rails group by,但它抛出了未定义的表错误,因为 primary_concern 本身不是模型,它与模型的关联可以说 concern,使用不同的外来密钥名称

解决方法

这应该有效:

Product.where(live: true).includes(:primary_concern).map{|q| [q.primary_concern.name,q.id]}.uniq(&:first)