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 に答える