Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在rake任务中使用ActiveRecord::Base.transaction?_Ruby On Rails_Rake_Yaml - Fatal编程技术网

Ruby on rails 在rake任务中使用ActiveRecord::Base.transaction?

Ruby on rails 在rake任务中使用ActiveRecord::Base.transaction?,ruby-on-rails,rake,yaml,Ruby On Rails,Rake,Yaml,我正在编写一个rake任务,它在某一点上使用一个自定义YAML文件导入方法来为数据库种子 rake任务如下所示: desc "Seed the database with production/ data." task :production => :environment do import_yaml 'seed/production' end 在导入代码中的某一点上,我有: ActiveRecord::Base.transaction do 尝试运行rake任务时抛出

我正在编写一个rake任务,它在某一点上使用一个自定义YAML文件导入方法来为数据库种子

rake任务如下所示:

desc "Seed the database with production/ data."
task :production => :environment do     
  import_yaml 'seed/production'
end
在导入代码中的某一点上,我有:

ActiveRecord::Base.transaction do
尝试运行rake任务时抛出:

You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]
堆栈跟踪指向代码中前面提到的行

有没有一种方法可以在rake任务期间实例化ActiveRecord::Base


谢谢

也许您没有将“环境”包括在rake任务中


如果没有=>:environment,您将无法访问任何rails应用程序型号

也许您没有在rake任务中包含“environment”


如果没有=>:environment,您将无法访问任何rails应用程序模型

,这肯定包括代码或至少一个示例。此外,问题标题与问题无关,也与解决方案无关……应该是这样,对吗?7年后,我不记得实际的问题/解决方案是什么。如果可以,我会删除这个问题,但它不允许我删除,因为有人写了一个答案。这肯定应该包括代码或至少一个示例。此外,问题标题与问题无关,也与解决方案无关……应该是这样,对吗?7年后,我不记得实际的问题/解决方案是什么。如果可以,我会删除这个问题,但它不允许我删除,因为有人写了答案。
task (:my_rake_task => :environment) do
    # ....
end