Ruby on rails 在rails中创建而不使用表单
假设我有两个模型A和B 现在我想通过单击按钮将一些信息从A的实例复制到B的实例Ruby on rails 在rails中创建而不使用表单,ruby-on-rails,Ruby On Rails,假设我有两个模型A和B 现在我想通过单击按钮将一些信息从A的实例复制到B的实例 有办法吗?这个过程叫做克隆对象,它的复杂性取决于你想克隆什么样的信息 如果只想克隆对象的字段,可以执行以下操作: old_object = A.find(old_object_id) new_object = B.new new_object.field_one = old_object.field_one new_object.field_two = old_object.field_two new_object
有办法吗?这个过程叫做克隆对象,它的复杂性取决于你想克隆什么样的信息 如果只想克隆对象的字段,可以执行以下操作:
old_object = A.find(old_object_id)
new_object = B.new
new_object.field_one = old_object.field_one
new_object.field_two = old_object.field_two
new_object.save!
但是,如果还想克隆旧对象的关联,则需要手动完成
为了论证A
有一个有许多B
对象的关联称为bees
,而B
有许多对象称为sees
,这可能会有点复杂:
old_object.bees.each do |bee|
new_bee = bee.clone
new_bee.sees.each do |see|
new_see = see.clone
new_see.save!
end
new_object.bees.push(new_bee)
end
new_object.save!