如何将数据导入rails?

gra*_*tur 9 ruby-on-rails

我有一个带有User类的Rails 3应用程序,以及一个我要导入的制表符分隔文件.

如何在rails控制台之外访问Active Record模型,以便我可以编写脚本来执行操作

require "???active-record???"

File.open("users.txt", "r").each do |line|
    name, age, profession = line.strip.split("\t")
    u = User.new(:name => name, :age => age, :profession => profession)
    u.save
end
Run Code Online (Sandbox Code Playgroud)

我是否使用"ar-extensions"宝石,还是有另一种方式?(我现在不特别关心速度,我只是想要一些简单的东西.)

Yan*_*nis 14

你可以写一个rake方法.将其添加到your_app/lib/tasks文件夹中的my_rakes.rake文件中:

  desc "Import users." 
  task :import_users => :environment do
    File.open("users.txt", "r").each do |line|
      name, age, profession = line.strip.split("\t")
      u = User.new(:name => name, :age => age, :profession => profession)
      u.save
    end
  end
Run Code Online (Sandbox Code Playgroud)

然后$ rake import_users从终端中的应用程序的根文件夹调用.