Wie kann ich einige ActiveRecord-Modelle aus einer YAML-Datei laden und in der Datenbank speichern?

Ich versuche, einige Lookup-Tabellendaten in einer YAML-Datei zu speichern, damit ich später, wenn ich meine App auf einem anderen Computer einrichten muss, die Daten als Seed-Daten laden kann.

Bei den Daten handelt es sich um ausgewählte Optionen, und sie sind ziemlich genau festgelegt, sodass Sie sich keine Sorgen machen müssen, ob die Live-Daten zwischen Serialisierung und Deserialisierung wechseln.

Ich habe die Daten so ausgegeben ...

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 so laden ...

questions = YAML.load_file('lib/tasks/questions/questions.yml')

Wenn ich jedoch versuche, eine Frage zu speichern, wird dieser Fehler angezeigt ...

>> questions[0].save
NoMethodError: undefined method `save' for #<YAML::Object:0x2226b84>

Was ist der richtige Weg, um dies zu tun?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage