如何在Rails中创建多个记录并使用create方法处理验证?

艾哈迈德·哈姆扎(Ahmad hamza)

我正在将参数中的属性数组发送到控制器,并且如果在创建记录时出现任何错误,我需要处理验证错误。

因为我需要一次创建多个组。

参数

  Parameters: {"group"=>[{"sort_by"=>"id", "template_ids"=>[182], "name"=>"Csdfwses", "count"=>1}, {"sort_by"=>"id", "template_ids"=>[181], "name"=>"rthydrt", "count"=>1}]}

所以我的控制器的create方法是这样的:

def create
  @groups = Group.create group_params
   if @groups
    render json: { success: true, message: "#{@groups.length} groups created" }
   else
    render_422 @groups, 'Could not save groups.'
   end
end

我想处理在创建任何记录时发生任何错误的情况,以便在创建后应显示错误消息。

使用上述方法,error此处无法使用方法。如何显示错误消息?

我尝试使用begin-rescue

 def create
  begin
   @groups = Group.create! group_params
    if @groups
     render json: { success: true, message: "#{@groups.length} groups created" }
    else
     render_422 @groups, 'Could not save groups.'
    end
  rescue ActiveRecord::RecordInvalid => invalid
    render json: { success: false, message: "#{invalid.record.errors.messages}" }, status: 500
  end
 end

但是我正在寻找更清洁的方法,如果有的话?

z

您想要传递一个哈希数组model.create以一次创建多个记录。

def create
  @groups = Group.create group_params
   if @groups.all? { |group| group.persisted? }
    render json: { success: true, message: "#{@groups.length} groups created" }
   else
    render_422 @groups, 'Could not save groups.'
   end
end

如果要显示任何验证错误,则需要查找model.errors或查找一系列不错的错误model.errors.full_messages

def create
  @groups = Group.create group_params
   if @groups.all? { |group| group.persisted? }
    render json: { success: true, message: "#{@groups.length} groups created" }
   else
    errors = @groups.map { |group| group.errors.full_messages.empty? ? nil : group.errors.full_messages }.compact.join("<br/>") # gross one-liner to show you where the errors live
    render_422 @groups, "Could not save groups. Here are the errors: #{errors}"
   end
end

您将希望更好地格式化错误,但这是一个简单的示例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Rails中处理多个布局

来自分类Dev

如何在Rails控制台中从数组创建多个记录

来自分类Dev

如何从Rails中的单个文本字段创建多个记录?

来自分类Dev

如何在单个表中处理多个<form>并让HTML验证

来自分类Dev

如何在Rails中创建has_many关系记录?

来自分类Dev

如何在laravel api中创建多个身份验证?

来自分类Dev

如何在“处理”中创建单个草图的多个窗口?

来自分类Dev

Rails在联接表中创建多个记录

来自分类Dev

如何使用for循环在JSON中创建多个记录(aka对象)

来自分类Dev

如何验证在laravel中的多个记录插入?

来自分类Dev

如何在Ruby on Rails中创建多个索引页面

来自分类Dev

如何在工厂女孩中创建关联记录以在创建时通过验证

来自分类Dev

使用Rails在create上创建嵌套记录

来自分类Dev

如何在Ruby on Rails控制器中创建第二个create方法?

来自分类Dev

使用 Rails 中的嵌套属性从表单中的复选框创建多个新记录

来自分类Dev

如何在CRM 2013中创建(预验证)插件上检测重复记录

来自分类Dev

如何在Perl中创建多个对象并使用相同的访问方法?

来自分类Dev

在Rails中创建记录后如何延迟

来自分类Dev

在Rails中,如何对活动记录“ where”使用模型的方法?

来自分类Dev

如何在Katana中编写多个身份验证处理程序?

来自分类Dev

如何在C ++中创建方法的多个版本?

来自分类Dev

如何在C ++中创建方法的多个版本?

来自分类Dev

如何在多个选项卡中拆分表单,如何验证Rails表单?

来自分类Dev

使用Odoo创建方法创建批处理记录

来自分类Dev

如何在Rails 4中使用Rspec测试before_create方法

来自分类Dev

如何在Ruby on Rails中创建并保持串行端口连接,如何处理无限循环以使用新消息创建模型?

来自分类Dev

如何在applescript中创建记录列表

来自分类Dev

如何在Rails中记录API请求?

来自分类Dev

如何在Rails中删除/销毁记录?

Related 相关文章

  1. 1

    如何在Rails中处理多个布局

  2. 2

    如何在Rails控制台中从数组创建多个记录

  3. 3

    如何从Rails中的单个文本字段创建多个记录?

  4. 4

    如何在单个表中处理多个<form>并让HTML验证

  5. 5

    如何在Rails中创建has_many关系记录?

  6. 6

    如何在laravel api中创建多个身份验证?

  7. 7

    如何在“处理”中创建单个草图的多个窗口?

  8. 8

    Rails在联接表中创建多个记录

  9. 9

    如何使用for循环在JSON中创建多个记录(aka对象)

  10. 10

    如何验证在laravel中的多个记录插入?

  11. 11

    如何在Ruby on Rails中创建多个索引页面

  12. 12

    如何在工厂女孩中创建关联记录以在创建时通过验证

  13. 13

    使用Rails在create上创建嵌套记录

  14. 14

    如何在Ruby on Rails控制器中创建第二个create方法?

  15. 15

    使用 Rails 中的嵌套属性从表单中的复选框创建多个新记录

  16. 16

    如何在CRM 2013中创建(预验证)插件上检测重复记录

  17. 17

    如何在Perl中创建多个对象并使用相同的访问方法?

  18. 18

    在Rails中创建记录后如何延迟

  19. 19

    在Rails中,如何对活动记录“ where”使用模型的方法?

  20. 20

    如何在Katana中编写多个身份验证处理程序?

  21. 21

    如何在C ++中创建方法的多个版本?

  22. 22

    如何在C ++中创建方法的多个版本?

  23. 23

    如何在多个选项卡中拆分表单,如何验证Rails表单?

  24. 24

    使用Odoo创建方法创建批处理记录

  25. 25

    如何在Rails 4中使用Rspec测试before_create方法

  26. 26

    如何在Ruby on Rails中创建并保持串行端口连接,如何处理无限循环以使用新消息创建模型?

  27. 27

    如何在applescript中创建记录列表

  28. 28

    如何在Rails中记录API请求?

  29. 29

    如何在Rails中删除/销毁记录?

热门标签

归档