2012-08-07 85 views
0

我有其目的是要被遍历的阵列,与每个对象后逗号以下代码期望的最后想法阵列单独的数组红宝石

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

看来该代码试图是执行,但由于某种原因。加入元素使其错误,如下面

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

我需要做什么,有这方面的工作?

+0

去过有一段时间,因为我尝试过Ruby,但是'each'真的应该在那里吗? – 2012-08-07 13:26:28

+0

不知道这是否会有关系,但http://apidock.com/rails/ActiveSupport/CoreExtensions/Array/Conversions/to_sentence可能会有用 – Yule 2012-08-07 13:53:58

回答

1
-if is_manager(team) 
    = is_manager(team).map(&:fullname).join(',') 
+0

请参阅我编辑的答案评论关于没有输出。 – DRobinson 2012-08-07 13:50:45

+1

Eek,我写过,当保罗评论说没有输出 - 抱歉,如果我的评论失去了上下文! – DRobinson 2012-08-07 13:51:20

+0

是的,将'-'改为'='输出 – 2012-08-07 14:25:40

1

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

含义以下就足够了:

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

编辑:看来你正在使用HAML,所以你需要 '=' 输出,请尝试以下操作:

-if is_manager(team) 
    = is_manager(team).map(&:fullname).join(',') 
+0

3秒钟之后击败我; – 2012-08-07 13:31:50

+0

感谢DRobinson,我在发帖之后选择了它,因此,删除:) – 2012-08-07 14:00:16