Rails Cからロードしようとしているコードのサンプルを次に示します(libフォルダー内-ファイルdata2.jsonもlibディレクトリ内にあります)
$LOAD_PATH.unshift(File.expand_path(".", File.dirname(__FILE__)))
$LOAD_PATH.unshift(File.expand_path("./lib", File.dirname(__FILE__)))
require 'company_gem_class'
class LoadJson
def go
File.open(Rails.root, 'lib', 'file.json') do |f|
f.each_line do |line|
this_line = JSON.parse(line)
hash_parser = CompanyGemClass.new(line)
c = Company.new
c.followers = hash_parser.followers
c.company_name = hash_parser.company_name
c.date_joined = hash_parser.date_joined
...
c.save
end
end
...
end
Railsコンソールから直接、単一の(Company)クラスを介してすべての生データをロードする計画でした/現在です。多くの「jsonファイルが存在しません」(Ennooent::path/to/file.jsonが存在しません)を取得しています。
lib/assets フォルダーと lib フォルダーに入れてみましたが、まだ成功していません。これらの json->ruby オブジェクトを db に一括アップロードするこのタスクをどのように行うことができますか?
^^json gem はバンドルインストール済みです。^^json ファイルは 1 行に 1 つのハッシュなので、このようにしました