1
我正在使用slice
方法从另一个对象的属性创建一个新对象。为什么切片需要!上班?
我发现了什么奇怪的是,在MINITEST,打印出
user_group.attributes.slice(ArchivedUserGroup.attribute_names)
返回一个空数组。但是,使用!
(“bang”)工作并返回所有user_group
属性。
有人可以给我一些洞察,为什么slice
这样工作?
UserGroup.where(user_id: self.id).each do |user_group|
ArchivedUserGroup.create(
user_group.attributes.slice!(ArchivedUserGroup.attribute_names)
)
end
你可以更新第一个代码块与爆炸 – VegaStudios