Ruby on rails 仅对软删除记录有多个关联

Ruby on rails 仅对软删除记录有多个关联,ruby-on-rails,activerecord,acts-as-paranoid,Ruby On Rails,Activerecord,Acts As Paranoid,我想为一个模型做一个has\u many关联,该模型有一些记录被删除,但不为零,我想只能通过has\u many关联检索这些记录,但目前它不起作用,我不确定如何修复它 class LoanApplication < ActiveRecord::Base acts_as_paranoid has_many :applicant_co_applicants, :class_name => "ApplicantCoApplicant", :foreign_key => "lo

我想为一个模型做一个has\u many关联,该模型有一些记录被删除,但不为零,我想只能通过has\u many关联检索这些记录,但目前它不起作用,我不确定如何修复它

class LoanApplication < ActiveRecord::Base
  acts_as_paranoid
  has_many :applicant_co_applicants, :class_name => "ApplicantCoApplicant", :foreign_key => "loan_application_id"
  has_many :co_applicant_infos, :through => :applicant_co_applicants, :source => :loan_application_co_applicant, :dependent => :destroy
  has_many :removed_co_applicant_infos, :through => :applicant_co_applicants, :source => :loan_application_co_applicant, :dependent => :destroy
end

class ApplicantCoApplicant < ActiveRecord::Base
  acts_as_paranoid
  attr_accessible :loan_application_id, :co_applicant_id, :deleted_at

  belongs_to :loan_application_co_applicant, class_name: 'LoanApplication', foreign_key: "co_applicant_id"
  belongs_to :loan_application, class_name: 'LoanApplication', foreign_key: "loan_application_id"
end
这是我的样品台。当我打电话时,我想知道你有多少联系
LoanApplication.find(1).删除了申请人信息
,它将只返回id为3的LoanApplication记录。

更改LoanApplication模型:

has_many :applicant_co_applicants, -> { not_deleted }
将此添加到应用程序共同应用程序模型:

scope :not_deleted, -> { where.not('deleted_at' => nil) }

您能显示您尝试过的查询吗?这并不能完全解决我的问题,但感谢您的帮助。@Kingsleysmon我做了一些小改动。你现在得到了什么结果?现在的结果是什么?我不得不把它切换到has_many:申请人_co_申请人,>{not_deleted},:class_name=>“申请者共同申请者”,:foreign_key=>“贷款申请id”。您的选项返回了错误,即使像这样运行它,它仍然返回空
scope :not_deleted, -> { where.not('deleted_at' => nil) }