我正在尝试运行使用rake任务更新数据库的ruby文件。但加班我运行代码,我得到一个错误说: 耙子流产了! 无法加载此类文件 - app / services / insert_data
ruby文件'insert_data'位于app目录下名为'services'的文件夹中
这是我为运行它而创建的rake任务:
require 'app/services/insert_data'
namespace :record_generate do
task :test do
ruby "app/services/insert_data"
end
end
请帮助您删除此错误。
答案 0 :(得分:2)
为了能够在rake任务中使用Rails环境,您需要声明:
namespace :record_generate do
task :test => :environment do |_, args|
ruby "app/services/insert_data"
end
end
答案 1 :(得分:0)
我认为您应该尝试将app/services/insert_data
放在脚本目录中。我假设你的ruby文件不是带逻辑的rails模型。我会尝试这个。
获取您的文件并将其放在/script/
目录中。
将这行代码放在文件的顶部
#! /usr/bin/env ruby
require_relative "../config/environment"
现在在命令行上执行此操作:
rails runner name_of_your_file
这是一种做法。如果您特别需要使用rake任务,我也可以尝试为此发布答案。
答案 2 :(得分:0)
在你的任务中:测试块尝试 -
inline-block