:environm-6ren">
gpt4 book ai didi

ruby-on-rails - Rails 3.1 中数据导入文件的正确位置(自定义 rake 任务)

转载 作者:行者123 更新时间:2023-12-04 23:28:20 24 4
gpt4 key购买 nike

我正在尝试运行此自定义 rake 任务以将数据导入我的 Rails 3.1 应用程序:

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

我将文件保存为 import_users.rake 并将其放在我的应用程序的 lib/tasks 目录中。

但是,当我尝试运行 rake import_users 时在命令行中,我收到此错误:
No such file or directory - users.txt
我将 users.txt 放在与 .rake 文件(lib/tasks 目录)相同的目录中,这是正确的位置吗?

最佳答案

文件名相对于执行 rake 任务的目录,而不是 rake 文件所在的目录。指定绝对路径,包括您的 rails 安装目录,如下所示:

File.open(File.join(Rails.root, "lib", "tasks", "users.txt"), "r")

导入数据 afaik 没有“正确”的位置,但是 lib/tasks目录不应该是它。为此,只需在 Rails 根目录下创建一个专用目录,并以与上述相同的方式指向它。

关于ruby-on-rails - Rails 3.1 中数据导入文件的正确位置(自定义 rake 任务),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8964373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com