Y a-t-il une meilleure façon de faire ce qui suit?ruby (w/rails) group_by, puis group_by again
prices = Price...all.group_by(&:foreign_key_id)
@prices = Hash.new
prices.each {|k, v| @prices[k] = Hash.new if [email protected][k]; @prices[k] = v.group_by {|g| g.created_at.to_time.to_i } }
Je voudrais faire quelque chose comme
prices.each {|k,v| v = v.group_by(&:created_at) }
Mais cela ne semble pas fonctionner parce que v est un tableau et group_by produit un hachage. Peut-être y at-il un moyen de le faire avec injecter?
prices.each_key.to_a ~> prices.keys – andrykonchin
Il est toujours bon de voir un bon usage d'injecter, et même si cela a du sens après l'avoir regardé, je n'aurais jamais su faire ça, merci! – Scott
@aaz Merci, j'ai commencé par '.each_key {| k | ... 'et finalement créé quelque chose d'extrêmement complexe. Corrigée. –