2015-05-24 2 views
0

Я пытаюсь засеять данные в моей базе данных, используя rake db:seed. Я получаю следующее сообщение об ошибке TypeError: can't cast Array to stringRails - TypeError: невозможно передать массив в строку

Моего коде

db/seeds.rb 
locations_list = [ 
    ["Melbourne"], 
    ["Sydney"], 
    ["Canberra"], 
    ["Newcastle"] 
] 

locations_list.each do |location| 
    Location.create(city: location) 
end 

universities = [ 
    ["M University"], 
    ["T University of M"], 
    ["R Institute of M"], 
    ["S University of T"], 
    ["L University"], 
    ["D University"], 
    ["V University"] 
] 

universities.each do |university| 
    University.create(name: university) 
end 

Глядя через него, синтаксис, кажется Симметричным. Кажется, не может найти, почему это вызывает эту ошибку.

Может ли кто-нибудь помочь?

ответ

1

Вы строите массив массивов, поэтому location или university в итерациях являются собственными массивами.

Вам не нужны дополнительные [] вокруг каждой из строк.

universities = [ 
    "M University", 
    "T University of M", 
    "R Institute of M", 
    "S University of T", 
    "L University", 
    "D University", 
    "V University" 
] 
+0

Я только что попробовал, и это работает, спасибо за помощь – Eali

Смежные вопросы