如何将数据导入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
- Unicorn和omniauth-facebook – 未初始化的恒定OmniAuth
- 在开发环境中覆盖ActionMailer的邮件地址
- 开始一个新项目 – 我应该使用Rails 3还是2.3.8?
- Rails Scaffold问题#undefined方法`edit_pais_path’
- 为什么Rails想要为JSON PUT请求返回“head:no_content”?
- 您的Gemfile中出错,而Bundler无法继续
- 如何将时间戳插入rails database-column
- 从一个动作中,获取一个post变量,输出到page,然后暂停执行
- 如果请求是xhr,Rails中有没有办法跳过before_filter?