3

active_recordフォーク(リンク)を使用してdelayed_jobに悩まされています。

コントローラ内:

guide = Rightsguide.new
guide.run(@works, current_user)   

Rightsguideルビークラス:

require 'delayed_job'
require 'delayed/tasks'
require 'prawn'
require 'open-uri'

class Runrightsguide

  def run(works, current_user)
    pdf = Rightsguidereport.new(works, current_user)
    filename     = "#{Rails.root}/public/#{Date.today}_rightsguide.pdf"
    pdf.render_file(filename)
    pdf_file = File.open(filename)
    archive = RightsguideArchive.new(:user_id => current_user)
    archive.pdf = pdf_file
    archive.save!

    User.find(current_user).notice "<a href='/rightsguide_archives' target='_blank'>View Rights Guide</a>", :level => :notice, :sticky => true, :title => "AIs generated." 
  end

end

上記は正常に機能しますが、メソッドhandle_asynchronously :runの後など、delayed_job呼び出しの1つを使用すると、が取得されます。runwrong number of arguments (2 for 1)

4

1 に答える 1

6

うーん。@works議論が問題だったことが判明しました。これはActiveRecordリレーションです。Delayed_jobはそれが気に入らなかった。関係をIDの配列に変えることは仕事をしました。

于 2012-08-31T11:30:34.613 に答える