Rails counter_cache 用于belongs_to 可选的真关系

时间:2021-01-01 17:31:04

标签: ruby-on-rails activerecord

app/models/clinic.rb

class Clinic < ApplicationRecord
  has_many :patients
end

app/models/patient.rb

class Patient < ApplicationRecord
  belongs_to :clinic, counter_cache: :true, optional: true
end

我在 patients_count 表中添加了 clinics 列并运行以下脚本来更新现有计数器。

Clinic.find_each do |clinic|
  Clinic.where(id: clinic.id).update_all(patients_count: clinic.patients.count)
end

创建新患者时,应增加患者计数,这不起作用,删除患者也会减少 patients_count。 我不确定这里出了什么问题。 非常感谢任何线索/帮助。

0 个答案:

没有答案