users_allowed_to_be_viewed.map {|u| "#{u.id},"}
mais qui donne 1,2,3,
Ruby on Rails: une main courte pour placer des virgules entre les éléments d'un tableau?
Quelle serait une façon courte pour obtenir quelque chose comme 1,2,3
users_allowed_to_be_viewed.map {|u| "#{u.id},"}
mais qui donne 1,2,3,
Ruby on Rails: une main courte pour placer des virgules entre les éléments d'un tableau?
Quelle serait une façon courte pour obtenir quelque chose comme 1,2,3
un tableau?
de http://ruby-doc.org/core/classes/Array.html
array.join(sep=$,) → str
Returns a string created by converting each element of the array to a string, separated by sep.
[ "a", "b", "c" ].join #=> "abc"
[ "a", "b", "c" ].join("-") #=> "a-b-c"
users_allowed_to_be_viewed.join ','
ruby-1.8.7-p299 > users_allowed_to_be_viewed = [1,2,3]
=> [1, 2, 3]
ruby-1.8.7-p299 > users_allowed_to_be_viewed.join ','
=> "1,2,3"
users_allowed_to_be_viewed.map{|u| u.id}.join(",")
Voici comment je le ferais. –
users_allowed_to_be_viewed.map(&:id).join(',')
Array#join
est également à Array#*
un alias, bien que cela puisse rendre les choses un peu obtus:
users_allowed_to_be_viewed.map(&:id) * ','
bah manqué la u.id partie. ./soupir .. (voir d'autres réponses pour utiliser la carte + joindre pour obtenir ce que vous vouliez réellement ...) – Doon