Delayed_job(2.1.4)+ Rails(3.0.10)undefined方法`delay'

时间:2011-12-21 19:46:09

标签: ruby-on-rails-3 delayed-job nomethoderror

我将rails应用程序升级到rails(3.0.10)并更新gem delayed_job。我更新了我的表delayeddjob的迁移,但不幸的是“.delay”方法不起作用。

NoMethodError: undefined method `delay' for #<User:0x10394d140>

我没有找到解决方案。我做了:“捆绑安装”,我重新启动服务器,尝试安装为插件...

你有什么想法吗?

感谢。

更新:

我修复了问题但是用

创建了一个文件config / initializer / delayed_job.rb
require 'delayed_job'
Delayed::Worker.backend = :active_record

1 个答案:

答案 0 :(得分:0)

有时宝石只是拒绝正确安装。我认为你应该做的是(假设你已经安装了git,否则请到https://github.com/tobi/delayed_job并下载delayed_job作为zip文件)

git clone https://github.com/tobi/delayed_job.git

将他在lib文件夹中的内容放入你的文件夹中。无论你需要使用他的方法,都要做

require 'delayed_job'

位于这些文件的顶部

我查看了本教程,它显示了在rails 3中设置的方法

http://www.dixis.com/?p=335

它建议在你的gemfile中使用它

gem "delayed_job",  :git => 'git://github.com/collectiveidea/delayed_job.git'

(如果它也不适用于此,那么尝试我做的相同的事情,但替换

git clone https://github.com/tobi/delayed_job.git 

git clone https://github.com/collectiveidea/delayed_job.git

告诉我是否有效