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