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

时间:2015-01-02 23:24:05

标签: ruby-on-rails arrays

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

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

我想在rails控制台中循环遍历数组,并为每个项目创建一个新类别,但这不起作用:

categories.each { |category| category.new}

它说:NoMethodError:未定义的方法`new' for" Industrial&阁楼":字符串

我错过了什么?感谢

1 个答案:

答案 0 :(得分:3)

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

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

编辑: 但请记住,“new”不会保存记录,因此您可能希望使用create,这是new&保存合并:

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