这是我试图从 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 控制台加载所有这些原始数据。我收到很多“json 文件不存在”(Ennooent::path/to/file.json 不存在)。
我试过把它放在 lib/assets 文件夹和 lib 文件夹中,但还没有成功。我该如何完成将这些 json-->ruby 对象批量上传到数据库的任务?
^^我已经捆绑安装了 json gem。^^json 文件是每行一个哈希,所以这就是我这样做的原因