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

How to create multiple records from array in Rails Console

我想在生产中创建 7 个类别,所以我有一个数组:

categories = ["Industrial & Loft","Nórdico","Moderno","Clásico","Contemporaneo","Exótico","Rustico","Landing"]

我想遍历 rails 控制台中的数组,并为每个项目创建一个新类别,但这行不通:

categories.each { |category| category.new}

它说:NoMethodError: "Industrial & Loft":String

的未定义方法“新”

我错过了什么?谢谢

如果 Category 是您的模型之一 类,那么您需要将其大写,然后将类别项的值分配给模型元素之一(例如我示例中的名称):

categories.each { |c| Category.new(name: c)}

编辑: 但请记住 "new" 不保存记录,因此您可能需要使用 create,它是 new 和 save 的组合:

categories.each { |c| Category.create(name: c)}