Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.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 雷克流产了!未初始化的常量User::UserGroup_Ruby On Rails_Ruby_Ruby On Rails 3_Ruby On Rails 3.1_Rake Task - Fatal编程技术网

Ruby on rails 雷克流产了!未初始化的常量User::UserGroup

Ruby on rails 雷克流产了!未初始化的常量User::UserGroup,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,rake-task,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,Rake Task,我遇到了一个奇怪的问题,我的rake任务在本地机器上运行,但没有在生产中运行。在生产中尝试相同操作时出现以下错误 雷克流产了!未初始化的常量User::UserGroup 当我在上面运行跟踪时,它得到了以下输出 $RAILS_ENV=生产包执行rake计费:发票--跟踪 **调用计费:发票(首次) **调用环境(第一次) **执行环境 **执行账单:发票 建筑发票 雷克流产了! 未初始化的常量User::UserGroup /usr/local/rvm/gems/ruby-1.9.3-p327/

我遇到了一个奇怪的问题,我的rake任务在本地机器上运行,但没有在生产中运行。在生产中尝试相同操作时出现以下错误

雷克流产了!未初始化的常量User::UserGroup

当我在上面运行跟踪时,它得到了以下输出

$RAILS_ENV=生产包执行rake计费:发票--跟踪

**调用计费:发票(首次)
**调用环境(第一次)
**执行环境
**执行账单:发票
建筑发票
雷克流产了!
未初始化的常量User::UserGroup
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active\u record/base.rb:1205:in'compute\u type'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active_record/reflection.rb:162:in`klass'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active_record/associations.rb:2107:in'initialize'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active_record/associations.rb:1984年:在“新”中
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active\u record/associations.rb:1984年:在“build\u join\u association”中
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active_record/associations.rb:1948:in'build'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active_record/associations.rb:1956:in“构建中的块”
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active_record/associations.rb:1955:in'each'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active_record/associations.rb:1955:in'build'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active_record/associations.rb:1852:in'initialize'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active\u-record/relation/query\u-methods.rb:246:in'new'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active\u-record/relation/query\u-methods.rb:246:in'build\u-joins'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active\u record/relation/query\u methods.rb:176:in'build\u arel'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active\u-record/relation/query\u-methods.rb:149:in'arel'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active\u record/relation/batches.rb:51:“在批中查找”
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.0.11/lib/active\u record/relation/batches.rb:20:in'find\u each'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/task.rb:205:in'call'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/task.rb:205:在“执行中的块”中
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/task.rb:200:in'each'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/task.rb:200:in'execute'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/task.rb:158:在“调用中的块与调用链”
/usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/monitor.rb:211:in'mon_synchronize'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/task.rb:151:在“调用”和“调用链”中
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/task.rb:144:in'invoke'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/application.rb:116:在“调用任务”中
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/application.rb:94:在“顶层的块(2层)”中
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/application.rb:94:in'each'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/application.rb:94:在“顶层块”中
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/application.rb:133:在“标准异常处理”中
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/application.rb:88:in“顶级”
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/application.rb:66:在“运行中的块”中
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/application.rb:133:在“标准异常处理”中
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/lib/rake/application.rb:63:in'run'
/usr/local/rvm/gems/ruby-1.9.3-p327/gems/rake-0.9.2.2/bin/rake:33:in`'
/usr/local/rvm/gems/ruby-1.9.3-p327/bin/rake:23:in'load'
/usr/local/rvm/gems/ruby-1.9.3-p327/bin/rake:23:in`'
任务:TOP=>账单:发票

奇怪的是,它在我的本地机器上工作正常。有什么建议吗?

你能把失败的rake任务源代码放进去吗

通常您需要这样写(以避免AR出现问题):

描述“我的任务描述” 任务:我的任务名称=>:environment do #任务代码在这里
结束

我猜您刚刚添加了一个名为
20120221123456_users.rb的迁移,在其中,您有:

class SomeNameThatsNotUsers < ActiveRecord::Migration
  ...
class SomeNameThatSnutUsers

当Rails执行迁移时,它希望执行定义类的文件,然后实例化类,并在该类实例上调用up或down。Rails如何知道实例化哪个类?它应该与数字前缀和下划线后面的文件名部分对应,因此对于像
20120221123456_users.rb这样的文件名,在我的rake任务中,类名必须是
Users

,我正在使用环境变量task:invoices=>:environment doThanks@rorra通过在我的config/production.rb文件中从此config.threadsafe中更改它,解决了这个问题!除非ENV['THREADSAFE']='off',否则此--config.THREADSAFE!,config.dependency\u load=如果rails\u rake\u任务为true。但仍不清楚这将起到什么作用?
class SomeNameThatsNotUsers < ActiveRecord::Migration
  ...