9
votes

Rails map_with_index?

J'ai ce qui suit:

    :participants => item.item_participations.map { |item|
      {:item_image => item.user.profile_pic.url(:small)}
    }


0 commentaires

3 Réponses :


1
votes

Vous devez SLICE CODE> Le tableau, effectuez Carte CODE> sur cet ensemble, puis concaténate le reste de la matrice à la fin de la matrice renvoyée à partir de Carte .

:participants => (item.item_participations[0..2].map { |item|
  {:item_image => item.user.profile_pic.url(:small)}
} + item.item_participations[3..-1])


0 commentaires

9
votes
my_array.take(3).map { |element| calculate_something_from(element) }

2 commentaires

Où est la méthode définie?


La méthode de prise est définie en énumérable -> ruby-doc.org/core -1,9 / classes / énumérables.html # m003070



27
votes

AS de Ruby 1.9, vous pouvez utiliser la carte.with_index: XXX

Bien que je préfère genre la méthode proposée par la justice.


3 commentaires

Cela ne fonctionne pas pour moi .. jette une erreur: méthode non définie 'avec_index' pour #


Trouvé une solution pour mon problème: t ('date.day_names'). Chaque_with_index.map {Journée, IDX | [Jour, IDX]}


On dirait que la carte.with_index n'est pas disponible avant Ruby 1.9.