耙子流产了!无法加载这样的文件Ruby on Rails

时间:2016-06-27 14:14:38

标签: ruby-on-rails ruby rake

我正在尝试运行使用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

请帮助您删除此错误。

3 个答案:

答案 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模型。我会尝试这个。

  1. 获取您的文件并将其放在/script/目录中。

  2. 将这行代码放在文件的顶部

    #! /usr/bin/env ruby

    require_relative "../config/environment"

  3. 现在在命令行上执行此操作:

    rails runner name_of_your_file

    这是一种做法。如果您特别需要使用rake任务,我也可以尝试为此发布答案。

答案 2 :(得分:0)

在你的任务中:测试块尝试 -

inline-block