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
记录:
attributes参数可以是Hash或Hashes数组。 这些哈希描述了要创建的对象的属性。
MyModel.create([{attr_1: some_attr, attr_2: 4}, {attr_1: some_attr, attr_2: 5}])