J'essaie d'utiliser le module CSV de Ruby pour importer les enregistrements contenus dans un fichier CSV vers ma table locale dans une application Ruby on Rails 3.Problème d'importation de fichier CSV avec Ruby CSV Module
La table a été créée grâce à la création du modèle Movie.
Voici ce que j'ai exécutaient dans la console:
require 'csv'
CSV.foreach('public/uploads/VideoTitles2.csv') do |row|
record = Movie.new(
:media_format => row[0],
:title => row[1],
:copies_at_home => row[2],
:order => row[3]
)
record.save
end
Les lignes du match de fichier csv (type de données) les colonnes qu'ils sont passés dans. Voici un je tente d'importer la version abrégée du fichier csv (VideoTitles2.csv):
"DVD","LEAP OF FAITH",1,1
"DVD","COCOON",1,2
"DVD","TITANIC",1,3
où chaque enregistrement est séparé par \ n je crois. Ce fichier csv a été exporté à partir d'Access et son extension d'origine était .txt. Je l'ai manuellement changé en .csv pour l'amour de l'importation.
Le problème est que, après l'exécution des lignes ci-dessus dans la console de rails, je reçois la sortie suivante:
=> nil
L'importation ne semble pas se produire. Si quelqu'un a une idée de comment je pourrais y remédier, je l'apprécierais vraiment.
aucun contrôle de films répétés? aussi, c'est une bonne étiquette pour une fonction de rendre quelque chose de significatif. Peut-être le tableau des films nouvellement créés? peut-être juste le nombre? notez également que nouveau + enregistrer! = créer! – tokland
ouais très vrai; Je l'utilisais comme une chose unique – anxiety