【问题标题】:Rails: Creating one model for each has_one association [duplicate]Rails:为每个 has_one 关联创建一个模型
【发布时间】:2018-05-07 19:07:28
【问题描述】:

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

【问题讨论】:

  • 您将遍历您的学校,并为每个学校创建一个settings 对象。目前还不清楚你在这里还问什么。
  • @meagar 我会在迁移中这样做吗?有点困惑我会在哪里做这个
  • 你可以,是的。您也可以使用rails console 来完成此操作,或者您可以在首次访问时为学校懒惰地创建一个新的setting
  • @meagar 我将如何在迁移中执行此操作?

标签: sql ruby-on-rails activerecord


【解决方案1】:

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

你可以这样做:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-14
    • 2011-04-19
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    相关资源
    最近更新 更多