【问题标题】:How to populate my database using a JSON in Rails?如何在 Rails 中使用 JSON 填充我的数据库?
【发布时间】:2016-11-25 00:46:30
【问题描述】:

我正在尝试通过解析 JSON 文件并运行 ruby​​ 脚本来填充我的数据库,这将创建我的模型实例并将它们保存在我的数据库中。

示例脚本:

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

我的问题是,我应该在我的应用程序中的哪里放置这样的脚本,以及如何将它连接到我想要创建实例以填充数据库的模型?目前,它给了我一个错误:未定义的局部变量或方法 student for main:Object (NameError)。我什至尝试过require 'app/models/student.rb',但它仍然不起作用。我目前将脚本放在应用程序主目录中(带有自述文件等)。任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: ruby-on-rails json ruby database


    【解决方案1】:

    尝试将您的脚本文件放在 Rail 的 script 目录中。将其放置在那里后,将其添加到文件的顶部:

    #! /usr/bin/env ruby
    
    require '../config/environment'
    
    .......script code.....
    

    【讨论】:

    • 谢谢,现在可以使用了。如果我只想运行这个脚本一次来填充数据库,我只是通过 rails 控制台(或部署它时的 Heroku 控制台)运行它还是有更优雅的方式?
    猜你喜欢
    • 1970-01-01
    • 2021-03-12
    • 2021-10-20
    • 1970-01-01
    • 2013-02-28
    • 2014-05-05
    • 2016-01-01
    • 2013-01-17
    • 2021-01-13
    相关资源
    最近更新 更多