2012-08-07 101 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