我使用以下语法
更新rails中的多个记录@user = Model.update(params[:user].keys,params[:user].values)
记录已成功更新。但是,如果有任何验证错误,那么我无法通过@user.errors
看到它。
我收到错误NoMethodError (undefined method errors' for #<Array:0x6dff140>):
如果在编辑多个记录时由于错误而未保存任何记录,我如何显示错误消息?
谢谢,
答案 0 :(得分:1)
可以从每个模型实例访问通过验证过程生成的任何错误消息。在您的示例中运行update方法时,它将向@user变量返回已更新的模型实例数组。因此,您可以检查数组中的模型实例,以检查它是否有错误,而不是当前正在执行的数组本身。
答案 1 :(得分:-2)
@users = Model.update(params[:user].keys,params[:user].values)
@errors = @users.map(&:errors).select(&:present?)