2010-10-14 65 views
3

我使用的是delayed_job 2.1.0.pre2, ,在我的lib中有一個名爲MailingJob(mailing_job.rb)的類,它有一個名爲perform的方法。 在我的控制器中,我將一個新的MailingJob對象放入我的delayed_job隊列中,如doc所示。 但是當我運行「rake jobs:work」命令時,它總是告訴我它無法找到「MailingJob」,是否需要mailing_job.rb文件?如果是,我應該在哪裏放置? 謝謝!rake作業:工作錯誤,未初始化的常量

+1

這是幾乎不可能幫你沒有更好的信息。我們真的需要看代碼。 – 2010-10-14 06:36:23

回答

7

mailing_job.rb必須位於Rails可以找到並自動加載它的位置。你有哪些文件?除非它在app/models或類似的東西,它不會自己找到它。

我有我的工作在app/jobs但這個工作,因爲我添加了路徑Rails的負載路徑在environment.rbRails::Initializer.run塊:

config.load_paths << "#{Rails.root}/app/jobs" 
+0

好的線索,我把「mailing_job.rb」放到我的RAILSAPP/lib目錄中,我以爲它會自動加載,當rails運行時lib目錄會自動加載嗎? – 2010-10-15 01:17:56

+0

不,''lib'默認不在加載路徑中。儘管你可以添加一個初始化器來從lib中獲取你的東西。 – tfe 2010-10-15 02:40:14

+0

非常感謝!我會稍後再試,謝謝 – 2010-10-15 02:51:51

相關問題