Ruby on rails rails uniq方法与uniq_方法

Ruby on rails rails uniq方法与uniq_方法,ruby-on-rails,arrays,Ruby On Rails,Arrays,控制器中有以下行: unique_recipients = conversation.recipients.uniq_by { |r| r.master_profile.email } 会话、收件人和主配置文件是活动记录关联。这一行的工作方式正是我所需要的:我收到的对话收件人中,每个人都有一个没有共同电子邮件地址的master_配置文件,即我不会向同一地址发送两次通知电子邮件。除了每次运行该行时,我都会在测试中看到一条不推荐使用的警告,告诉我改用uniq。因此,我尝试将该行更改为以下内容: u

控制器中有以下行:

unique_recipients = conversation.recipients.uniq_by { |r| r.master_profile.email }
会话、收件人和主配置文件是活动记录关联。这一行的工作方式正是我所需要的:我收到的对话收件人中,每个人都有一个没有共同电子邮件地址的master_配置文件,即我不会向同一地址发送两次通知电子邮件。除了每次运行该行时,我都会在测试中看到一条不推荐使用的警告,告诉我改用uniq。因此,我尝试将该行更改为以下内容:

unique_recipients = conversation.recipients.uniq { |r| r.master_profile.email }

当我这样做时,结果列表中确实包含在其主配置文件上共享相同电子邮件地址的收件人。关于uniq方法的工作方式,我遗漏了什么?

检查源代码。uniq_by与uniq相同

试试这个:

unique_recipients = conversation.recipients.map{|r| r.master_profile.email}.uniq