module EducodeSales class Business < ApplicationRecord belongs_to :staff belongs_to :department belongs_to :last_follow_up, class_name: 'FollowUp', optional: true # 允许last_follow_up_id字段中的数为nil has_many :sale_plans has_many :follow_ups #关联关注 has_many :users,:class_name => 'EducodeSales::BusinessRelationShip',foreign_key: 'business_id',:dependent => :destroy #每次查询时 默认的查询条件 default_scope -> {where(deleted_at: nil)} def soft_destroy(user_id) self.update(deleted_at: Time.now) self.sale_plans.each do |d| d.soft_destroy(user_id) end self.follow_ups.update_all(deleted_at: Time.now) EducodeSales::Recycle.create(source: self, deleter_id: user_id) end end end