0
我想解僱我Job
模型的after_save
回調,只有當它具有添加或更改就可以了Surveyor
(假定:一個也存在過)。Rails的模型回調時has_and_belongs_to_many已經改
# app/models/job.rb
has_and_belongs_to_many :surveyors
after_save :send_mail, if: ->(r) { r.surveyor_ids_changed? and r.surveyor_ids.present? }
# app/models/surveyor.rb
has_and_belongs_to_many :jobs
# permitted parameters on job
:job_name, :job_address, surveyor_ids: []
如何更改模型回調以使send_mail
方法正確觸發?
'r.surveyor_ids.present?'爲什麼你需要檢查嗎?在'after_save'中,因爲它會創建一個持久實例 –
你能澄清你的意思嗎? – gosseti
我的意思是你可以使用'after_update'回調你的測量員模型並檢查它是否改變了? –