gpt4 book ai didi

ruby - 在两个 ActiveRecord 类之间合并/复制属性的好方法?

转载 作者:数据小太阳 更新时间:2023-10-29 07:11:15 25 4
gpt4 key购买 nike

之前有人问过这个问题,我发现了以下 clip关于如何一次设置一个类对象的所有属性,但由于批量分配保护,这在 Rails 中是不可能的。 (例如,您不能 Object.attributes={})

有没有一种很好的方法可以将一个类的属性合并到另一个类中?

object1.attributes = object2.attributes.inject({}){ |h,(k,v)|
h[k]=v if ObjectModel.column_names.include?(k); h
}

谢谢。

最佳答案

利用assign_attributes使用 :without_protection 选项。

attributes = object2.attributes.select do |attr, value|
ObjectModel.column_names.include?(attr.to_s)
end
object1.assign_attributes(attributes, :without_protection => true)

关于ruby - 在两个 ActiveRecord 类之间合并/复制属性的好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10112946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com