当另一条记录被标记为“完整”Rails时生成相关记录

时间:2017-06-27 17:00:47

标签: ruby-on-rails activerecord

我在Rails中有几个相关联的模型:

class Scan < ApplicationRecord
  belongs_to :project
  has_many :ats
end

class At < ApplicationRecord
  belongs_to :project
  belongs_to :scans
end

我的问题是: 当用户将扫描标记为“完成”时,如何让Rails生成AT?应生成与已标记为“完成”的扫描关联的AT。

更新: 使用布尔值

将扫描标记为“完成”

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

class Scan < ApplicationRecord
  belongs_to :project
  has_many :ats
  after_update :generate_at

  private

  def generate_at
    return unless self.complete
    self.ats.create!
  end
end