2016-11-25 12 views
1

私は、JSONファイルを解析して、私のモデルのインスタンスを作成し、自分のデータベースに保存するrubyスクリプトを実行することで、データベースにデータを取り込もうとしています。RailsでJSONを使用してデータベースにデータを取り込む方法は?

スクリプト例:

require 'json' 
require 'byebug' 

file = File.read('players.json') 
data_hash = JSON.parse(file) 
data_hash_size = data_hash['Name'].size 

data_hash.each_with_index do |i| 
    @student = student.new 
    @student.name = data_hash['Name'][i] 
    @student.college_year = data_hash['Cl.'][i] 
    @student.save! 
end 

私の質問は、私は私のアプリでは、このようなスクリプトを入れないと、どのように私はデータベースを作成するのインスタンスを作成したいモデルに接続しない場合は、ありますか?現在、それは私にエラーを与えている:未定義のローカル変数またはmain:Object(NameError)のメソッドstudent。私もrequire 'app/models/student.rb'を試しても、まだ動作しません。私は現在、スクリプトをアプリケーションホームディレクトリに置いています(READMEファイルなどで)。どんな助けもありがとう、ありがとう!

答えて

2

スクリプトファイルをRailのscriptディレクトリに配置してください。配置したら、ファイルの先頭に次のように追加してください:

#! /usr/bin/env ruby 

require '../config/environment' 

.......script code..... 
+0

ありがとうございます。このスクリプトを一度だけ実行してデータベースを移植したいのであれば、それをrailsコンソール(または展開するときはHerokuコンソール)で実行するのか、よりエレガントな方法がありますか? – YSA

関連する問題