我将模型中的一些数据拆分为一个新数据并在它们之间创建关联。
我添加了new_model_id
to OldModel
,NewModel
使用address
作为字符串属性创建,并进行了以下迁移:
class RemoveAddressFromOldModel < ActiveRecord::Migration
def up
OldModel.where("address IS NOT NULL AND address != ''").each do |i|
j = NewModel.create(address: i.address)
i.new_model_id = j.id
i.save
end
remove_column :old_models, :address
end
def down
add_column :old_models, :address, :string
end
end
虽然NewModel.create
工作正常并获得正确的数据,但i.save
似乎没有工作,因为old_models.new_model_id
没有被填充。
我错过了什么?