TableA.create的底层代码是什么(TableB.all.map(&:attributes))?

例如,如果我在mongo ruby​​驱动程序中使用重命名方法,我可以在这里查看代码

当我使用map(&:attributes)时到底发生了什么? 我认为这意味着tags.map(&:attributes.to_proc).join(”),但我不知道为什么我得到“未定义的方法`each_pair’for Arrayxxxxx”错误与此命令:

TableA.create(TableB.all.map(&:attributes)) 

任何见解将不胜感激

map返回方法调用返回的任何数组。

所以

 TableB.all.map(&:attributes) 

基本上是一个数组

 [TableB.all[0].attributes,TableB.all[1].attributes,TableB.all[2].attributes,...] 

你想要的东西吗?

 TableB.all.map(&:attributes).each do |attr| TableA.create(attr) end