Ruby on rails 合并两个activerecord模型

Ruby on rails 合并两个activerecord模型,ruby-on-rails,Ruby On Rails,我有两个同一类的ActiveRecord模型: #1:表示数据库中行/模型的当前提交状态 #2:第一个字段的某些字段的潜在更新信息 我要寻找的是一种方法,如果#2有一个非nil字段,则可以逐个字段更新#1。这样做有什么不礼貌的 这里有一个类似的问题:好吧,这大概是我的实现——所以rails中没有任何一个本机实现类似的功能。谢谢如果你只是想知道发生了什么变化,你可以看看m2.changed\u属性,但这会显示原始值。如果希望减少处理时间,可以迭代该散列,只提取标记为已更改的更改。如果有更好的方

我有两个同一类的ActiveRecord模型:

  • #1:表示数据库中行/模型的当前提交状态
  • #2:第一个字段的某些字段的潜在更新信息

我要寻找的是一种方法,如果#2有一个非nil字段,则可以逐个字段更新#1。这样做有什么不礼貌的

这里有一个类似的问题:好吧,这大概是我的实现——所以rails中没有任何一个本机实现类似的功能。谢谢如果你只是想知道发生了什么变化,你可以看看m2.changed\u属性,但这会显示原始值。如果希望减少处理时间,可以迭代该散列,只提取标记为已更改的更改。如果有更好的方法,我不太熟悉。仅供参考:如果你在这个模型上定义了关联,你也必须合并它们。
m1 = SomeModel.first()
m2 = SomeModel.first()

m2.some_attribute = "new value"

m2.attributes.each_pair {|k,v| m1.attributes[k] = v unless v.nil?}