2017-07-29 64 views
0

軌如何解析排列的陣列來創建記錄

a = [1, 2, 3, 4, 5, 6] 

我創建

a.permutation(5).to_a 
=> [[1, 2, 3, 4, 5], [1, 2, 3, 4, 6],....... 

如何可以解析數組數組這樣我就可以創建記錄指定數組的索引Model.attribute。類似.....

for_each do 
Model.create(n1: 1, n2: 2, n3: 3, n4: 4, n5: 5) 
end 

謝謝!

回答

0

你可以嘗試使用Array#map此:

arrays = a.permutation(5).to_a 

arrays.each do |array| 
    attribs = array.map.with_index { |item, i| ["n#{i + 1}", item] }.to_h 
    Model.create(attribs) 
end 
+0

它仍然不清楚如何分配索引值attribute_n1,N2,N3等能否請您澄清或結束的例子嗎? – Francisco

+0

@Francisco - 代碼也可以。 array.each的第一行將項目映射到散列。該鍵將是'n'後面是該項目的索引,並且該值將是該項目本身。 – 31piy

+0

非常乾淨的解決方案,謝謝! – Francisco