我已经成功设置了许多工作,但是这个工作只是让我失望。无论我做什么,它都会抱怨为零。
以下是我收到的当前错误消息:
当你没想到它时,你有一个零对象!你可能有 期待一个Array的实例。评估时发生错误 nil.each /Users/aressidi/Projects/XXXXX/lib/contextual_content_job.rb:3:in `perform'/Users/aressidi/.rvm/gems/ru
以下是相关文件:
contextual_content_job.rb
class ContextualContentJob < Struct.new(:keywords, :contextual_content_id, :category_name)
def perform
keywords.each { |e| Keyword.associate_foods(e, contextual_content_id, category_name) }
end
end
调用它的控制器(简化为仅显示关键部分)
def create
@keywords = Keyword.parse_keywords(params[:keyword][:keyword])
@keywords = @keywords.collect {|k, v| v}
RAILS_DEFAULT_LOGGER.error("Here are the keywords: #{@keywords.inspect}")
RAILS_DEFAULT_LOGGER.error("The content ID: #{@contextual_content.id}")
RAILS_DEFAULT_LOGGER.error("The contextual content category: #{@contextual_content.contextual_content_category.name}")
Delayed::Job.enqueue(ContextualContentJob.new(@keywords, @contextual_content.id, @contextual_content.contextual_content_category.name), 3)
end
这是我的日志文件中的输出。有什么我在做的那显然是错的吗?我正在传递一系列关键字,我认为这是抱怨的问题。关键字是它所说的为null,但我已经将它们打印在日志中,它们显然不是零。这是我日志中的输出。有任何想法吗?
以下是关键字:[“ritz”,“salteen”]内容ID:111
ContextualContentCategory加载(0.3ms)SELECTcontextual_content_categories
。* FROMcontextual_content_categories
WHEREcontextual_content_categories
。id
= 1 LIMIT 1上下文 内容类别:提示SQL(0.1ms)BEGIN AREL(0.2ms)INSERT INTOdelayed_jobs
(last_error
,queue
,run_at
,locked_at
,priority
,attempts
,handler
,failed_at
,updated_at
,created_at
,locked_by
)VALUES(NULL,NULL,'2012-10-11 18:34:47', NULL,3,0,'---!ruby / object:ContextualContentJob {}',NULL, '2012-10-11 18:34:47','2012-10-11 18:34:47',NULL)SQL(0.2ms) COMMIT重定向到 http://XXXX.dev/admin/contextual_contents已完成302 发现于56ms