邮箱 - 除会话发起人外的所有收件人

时间:2017-06-07 12:25:20

标签: ruby-on-rails ruby mailboxer

使用邮箱我可以找到对话中的所有参与者

@participants = @conversation.participants

我可以使用

找到对话的发起人

@originator = @conversation.originator

现在我正试图找到除发端人之外的所有参与者。

@participants.delete_if { |participant| participant == @originator}

它工作正常,但我想知道是否有更好的方法来做到这一点?感谢

1 个答案:

答案 0 :(得分:1)

没有发起人,没有可用的助手返回参与者。我预计recipients会有所帮助,但它会执行participants所做的事情。 这两个方法都会返回包含发件人的所有收件人

# File 'app/models/mailboxer/conversation.rb', line 78

def participants
  recipients
end

# File 'app/models/mailboxer/conversation.rb', line 72

def recipients
  return [] unless original_message
  Array original_message.recipients
end

您可以使用reject代替delete_if,但它或多或少相同。我建议你保持当前的方法,因为它看起来干净整洁。