Rails:如何在更新多个记录时显示验证错误消息

时间:2016-04-22 09:01:53

标签: ruby-on-rails ruby-on-rails-4

我使用以下语法

更新rails中的多个记录
@user = Model.update(params[:user].keys,params[:user].values)

记录已成功更新。但是,如果有任何验证错误,那么我无法通过@user.errors看到它。

我收到错误NoMethodError (undefined method errors' for #<Array:0x6dff140>):

如果在编辑多个记录时由于错误而未保存任何记录,我如何显示错误消息?

谢谢,

2 个答案:

答案 0 :(得分:1)

可以从每个模型实例访问通过验证过程生成的任何错误消息。在您的示例中运行update方法时,它将向@user变量返回已更新的模型实例数组。因此,您可以检查数组中的模型实例,以检查它是否有错误,而不是当前正在执行的数组本身。

答案 1 :(得分:-2)

@users = Model.update(params[:user].keys,params[:user].values)
@errors = @users.map(&:errors).select(&:present?)