rails 3,新模型B与旧模型A的比例为1:1,如何为每个已存在的A记录自动创建新的B记录

时间:2011-02-02 23:01:30

标签: ruby-on-rails model model-associations

Rails v3.0.3 原始架构有客户表,该应用程序包含100个客户的数据。

通过迁移,我们以1:1添加 cust_info 表,例如:

customers has_one cust_info 
cust_info belongs_to customers

所以现在(在运行rake db:migrate创建新模型之后),我们有100个'旧'客户记录,这些记录没有所需的1:1 cust_info 记录。

问题(1a)(遗留数据更新)为我们现有的100条客户记录生成所需(空) cust_info 记录的“轨道方式”是什么?

问题(2)(前进)如何修改我们的应用程序,以便在创建新的客户记录时,它会自动创建相关的 cust_info 记录时间?

1 个答案:

答案 0 :(得分:1)

Q1:因为你有一个小数据集,我会在控制台中工作:

Customer.all.each do |c|
   c.create_cust_info.save
end

Q2:在您的客户模型中使用以下回调:after_create并在内部构建cust_info