Ich versuche, einige Nachschlagetabellen-Daten in einer YAML-Datei zu speichern, damit ich später, wenn ich meine App auf einem anderen Rechner einrichten muss, die Daten als Seed-Daten einlesen kann.Wie kann ich einige ActiveRecord-Modelle aus einer YAML-Datei laden und in der DB speichern?
Die Daten sind Zeug wie Auswahloptionen, und es ist ziemlich festgelegt, also keine Sorgen über die Live-Daten zwischen Serialisierung und Deserialisierung wechseln.
Ich habe die Daten auszugeben wie diese ...
file = File.open("#{RAILS_ROOT}/lib/tasks/questions/questions.yml", 'w')
questions = Question.find(:all, :order => 'order_position')
file << YAML::dump(questions)
file.close()
Und ich kann die Datei wie folgt laden ...
questions = YAML.load_file('lib/tasks/questions/questions.yml')
aber wenn ich versuche, eine Frage zu speichern ich diese Fehler ...
>> questions[0].save
NoMethodError: undefined method `save' for #<YAML::Object:0x2226b84>
Was ist der richtige Weg, dies zu tun?
Welche Version von Rails verwenden Sie? –
Ich benutze Rails 2.3.5 – Ethan