阵列到单个部分

ard*_*vis 0 ruby arrays ruby-on-rails-3

我正在尝试使用以下内容收集来自一群人的电子邮件:

def representative_email(group)
  group.representatives.collect{ |m|
    rep.User.find(m.user_id)
    rep.email
  }
end
Run Code Online (Sandbox Code Playgroud)

然而,这产生的结果如下: ["email@email.com", "email2@email.com"]

如何删除所有[]并且""仅离开:

email@email.com, email2@email.com
Run Code Online (Sandbox Code Playgroud)

事实上,最好用分号替换逗号.

Ama*_*dan 5

def representative_email(group)
  group.representatives.collect{ |m|
    rep.User.find(m.user_id)
    rep.email
  }.join('; ')
end
Run Code Online (Sandbox Code Playgroud)

你的功能(即结果Array#collect)的结果是Array; 括号和引号是通过Array转换为a 的方式引入的工件String.如果您控制转换过程,通常会更好 - 因为您确切知道您收到的内容.

在这种情况下,您可以使用将参数作为粘合剂粘贴在一起Array#join的字符串表示.ArrayString