微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – ActiveRecord create:传入一组属性

我想知道是否有一种Rails方法通过传入一组属性来创建多个记录.

例如,而不是

MyModel.create!(attr_1: some_attr,attr_2: 1)
MyModel.create!(attr_1: some_attr,attr_2: 2)
MyModel.create!(attr_1: some_attr,attr_2: 3)
MyModel.create!(attr_1: some_attr,attr_2: 4)

我想做的事情如下:

MyModel.create!(attr_1: some_attr,attr_2: [1,2,3,4])

但它不起作用.有没有类似的方法来实现这一点没有循环?

解决方法

根据文档,您可以从一系列哈希中获取 create条记录:

The attributes parameter can be either be a Hash or an Array of
Hashes. These Hashes describe the attributes on the objects that are
to be created.

MyModel.create([{attr_1: some_attr,attr_2: 4},{attr_1: some_attr,attr_2: 5}])

原文地址:https://www.jb51.cc/ruby/267000.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐