首页 > 解决方案 > Rails:为每个 has_one 关联创建一个模型

问题描述

我有一个新模型settings,它具有另一个模型的外键school,其中许多模型schools已经存在。settings belongs_to schoolschool has_one setting。我如何一次setting为每个现有的school所有人制作一个?

标签: sqlruby-on-railsactiverecord

解决方案


基本上你想要的是为没有设置的现有学校设置默认设置?

您可以执行以下操作:

School.all.each do |s|
  unless s.settings.present? 
    s.settings.new(your default settings here for each field of settings)
    s.settings.save
  end
end

我正在遍历每所学校,但可能有一种方法可以只抓取没有设置的学校。

您可以在控制台中运行它。(虽然先在本地做)


推荐阅读