我正在尝试列出要添加到applicant_commissions的commissions
。
ApplicantCommission.rb
belongs_to :applicant
belongs_to :commission
Applicant.rb
has_many :applicant_commissions
Commission.rb
has_many :applicant_commissions
问题是,如果我使用has_many:当我删除申请人时,委员会也会被删除。 (反之亦然)
有关如何在不丢失相关记录的情况下创建和销毁此内容的任何建议吗?
答案 0 :(得分:0)
您的文件中应该有以下关系
ApplicantCommission.rb
belongs_to :applicant
belongs_to :commission
Applicant.rb
has_many :applicant_commissions, dependent: :destroy
has_many :commissions, through: :applicant_commissions
Commission.rb
has_many :applicant_commissions, dependent: :destroy
has_many :applications, through: :applicant_commissions
这样您的分配就不会被删除。 其次,我建议你看一下这个' mark_for_destruction'删除。 这有助于您轻松删除内容。
http://api.rubyonrails.org/classes/ActiveRecord/AutosaveAssociation.html