Ruby on rails 未定义方法-带Resque gem的NOMethod错误

Ruby on rails 未定义方法-带Resque gem的NOMethod错误,ruby-on-rails,ruby,activerecord,builder,resque,Ruby On Rails,Ruby,Activerecord,Builder,Resque,我正在尝试使用resque gem生成xml文件作为后台任务这里是生成xml文件的类 ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV'] require File.expand_path(File.dirname(__FILE__) + "/../../config/environment") require 'rubygems' require 'builder' class GenerateXml @queue = :worker

我正在尝试使用resque gem生成xml文件作为后台任务这里是生成xml文件的类

ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV']
require File.expand_path(File.dirname(__FILE__) + "/../../config/environment")
require  'rubygems'
require 'builder'

class GenerateXml
  @queue = :worker

  def self.perform
    file_name = "#{Time.now.strftime('%Y_%m_%d')}_export.xml"

    xml = Builder::XmlMarkup.new(:target => file_name, :indent => 2)
    xml.instruct!(:xml, :encoding => "UTF-8")

    xml.Postings do
      Result.find_in_batches do |result|
        xml.Posting do
          xml.JobID result.job_id
          xml.JobURL result.job_url
        end
      end
    end
  end
end
从中提取xml标记字段的结果模型如下

require 'active_record'

class Result < ActiveRecord::Base
  def job_id
    self.link
  end

  def job_url
    self.link
  end
end

批量查找\u
。在
发布
块中,您可以执行以下操作:

  Result.find_in_batches do |results|
    results.each do
      xml.Posting do
        xml.JobID result.job_id
        xml.JobURL result.job_url
      end
    end
  end

但是为什么还要费心于批量查找呢?

find\u in\u batches


您必须更新或创建特定的
结果
,而不是更新
结果的
数组
,这意味着什么。

解释Generatexml如何无法正确映射到结果类。你犯了什么错误?堆栈跟踪?这是整个跟踪-
未定义的方法-NOMethod错误与Resque gem
?没有行号?非常抱歉,我用跟踪输出编辑了问题。将此添加到第二行的效果很好。每个do | result |谢谢。那么您能告诉我如何将xml保存为文件吗?
  Result.find_in_batches do |results|
    results.each do
      xml.Posting do
        xml.JobID result.job_id
        xml.JobURL result.job_url
      end
    end
  end