如何在 rails 中将属性转换为引用

How to convert an attribute to a reference in rails

我是 rails 上 ruby 的新手,我正在处理一个现有项目,我认为应该将模型的某些属性更改为独立模型;那么他们应该在原始模型中引用。执行此操作需要执行哪些任务?我应该先删除这些列然后根据属性生成新模型还是有更简单的方法?

提前致谢。

无法自动将属性分离到单独的模型定义中。

如果您想要保留现有数据,则通过迁移创建新模型并使用原始模型的外键,然后编写代码来传输数据。

Primary.each do |p|
  p.secondary = Secondary.new
  p.secondary.attribute_1 = p.attribute_1
  p.secondary.attribute_2 = p.attribute_2
  p.secondary.save
end

然后删除主 attribute_1 和 attribute_2 列

如果没有现有数据需要保留,则只需创建新模型并使用迁移删除旧属性。