【发布时间】:2019-02-05 14:05:45
【问题描述】:
我有同样的问题,不明白如何实现它的想法。这是我的代码:
controller.rb
def update
begin
dot_applications = DotApplication.where(id: params[:ids])
bad_dot_app_update = []
dot_applications.each do |dot_application|
if dot_application.update!(lead_source_id: resource_params[:lead_source_id])
dot_application.update!(lead_source_id: resource_params[:lead_source_id])
else
bad_dot_app_update << dot_application.update!(lead_source_id: resource_params[:lead_source_id])
end
end
render dialog: {
close_dialog: true,
success_message: "The lead source was changed for selected applicants."
}
rescue StandardError => error
render dialog: {
close_dialog: true,
error_message: "Can't update lead sources because #{error.message}"
}
end
end
我想收集未更新的 'dot_aplication' 将其添加到数组并将其插入以挽救 StandartError。请帮帮我。
【问题讨论】:
-
您是否遇到任何错误?无论如何,检查这是否有帮助:stackoverflow.com/questions/3694153/…
-
我更新了控制器。但我不确定它的工作是否正确。
-
当
update!第一次失败时,您当前的代码将“中止” - 所以尝试“向数组添加错误”是没有意义的(只能有 1 个错误)。如果某些DotApplications 无法更新,您想要什么行为?一个都不更新?或者更新其中的一些?
标签: ruby-on-rails ruby