def upload_new_incident_attachments
@attachments.each do |attachment|
if record.new_record?
record.images.build(attachment: attachment)
else
record.images.create(attachment: attachment)
end
end
end
如果父模型被创建(保存时),构建相关记录将自动保存,如果存在验证错误(包括孩子和父母),子项属性将不会被保存,我不会'知道如何在更新父模型时处理这个问题,
def update
if record.update_attributes(incident_params)
upload_new_record_attachments if @attachments
end
end
如果在创建子记录时存在验证错误,则父模型已经更新,是否有任何方法可以在单个提交中更新(创建子记录和更新父记录),或者任何其他方式
答案 0 :(得分:1)
您可以在构建或创建子关联之前检查其父模型是否有效
def update
# Assign attributes to the parent model
record.assign_attributes(incident_params)
if record.valid?
# Builds or creates images only when there are no validation errors
upload_new_record_attachments if @attachments
# Now you can save it and make sure there won't be any validation errors
record.save
end
end