Mailboxer - 除了对话的发起者之外的所有收件人

Mailboxer - All recipients except the originator of a conversation

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

@participants = @conversation.participants

我可以使用

找到对话的发起者

@originator = @conversation.originator

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

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

它工作正常,但我想知道是否有更好的方法?谢谢

None 可用的帮助者 returns 参与者 ,没有 发起者 。我预计 recipients would help, but it does what participants 会。 这两种方法 returns 包含发起人的所有收件人

# 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,但大致相同。我建议您保留 当前方法,因为它看起来更干净、更好。