如何将数据导入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 

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

你可以写一个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 

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

使用activerecord-import gem进行批量导入。

通过Gemfile安装:

 gem 'activerecord-import' 

收集您的用户并导入:

 desc "Import users." task :import_users => :environment do users = File.open("users.txt", "r").map do |line| name, age, profession = line.strip.split("\t") User.new(:name => name, :age => age, :profession => profession) end User.import users end