0

我有以下代码,它旨在循环遍历一个数组,每个对象后面都有一个逗号,期望最后一个想法

-if is_manager(team)
   - is_manager(team).map(&:fullname).each.join(',') do |name|
   = "#{name}"

似乎代码正在尝试执行,但由于某种原因 .join 元素导致它出现如下错误

undefined method `join' for #<Enumerator: ["Tom Garcia", "Paul McGuane"]:each>

我需要做什么才能让这个工作?

4

2 回答 2

1

摆脱“每个”部分;join 将直接在数组上调用,并应返回一个字符串。

意味着以下内容就足够了:

is_manager(team).map(&:fullname).join(',')

编辑:似乎您正在使用 HAML,因此您需要“=”作为输出,请尝试以下操作:

-if is_manager(team)
   = is_manager(team).map(&:fullname).join(',')
于 2012-08-07T13:26:33.847 回答
1
-if is_manager(team)
   = is_manager(team).map(&:fullname).join(',')
于 2012-08-07T13:30:50.960 回答