Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 在rails 3中为延迟作业添加一些自定义方法?_Ruby_Ruby On Rails 3_Class_Model_Delayed Job - Fatal编程技术网

Ruby 在rails 3中为延迟作业添加一些自定义方法?

Ruby 在rails 3中为延迟作业添加一些自定义方法?,ruby,ruby-on-rails-3,class,model,delayed-job,Ruby,Ruby On Rails 3,Class,Model,Delayed Job,我想向延迟作业模型添加一些自定义方法 我想要一些额外的,比如 def status return "errored" unless self.last_error.blank? return "waiting" if self.locked_at.blank? return "running" unless self.locked_at.blank? return "blerg" if some.other.things... end …在延迟的工作课上 我只是想知道如何以这种

我想向延迟作业模型添加一些自定义方法

我想要一些额外的,比如

def status
  return "errored" unless self.last_error.blank?
  return "waiting" if self.locked_at.blank?
  return "running" unless self.locked_at.blank?
  return "blerg" if some.other.things...
end
…在延迟的工作课上

我只是想知道如何以这种方式扩展它


谢谢

是否延迟::作业
?在ruby中,可以通过几种方式向类添加方法,但最简单的方法可能是:

config/initializers/delayed_job.rb

class Delayed::Job
  def status
    return "errored" unless self.last_error.blank?
    return "waiting" if self.locked_at.blank?
    return "running" unless self.locked_at.blank?
    return "blerg" if some.other.things...
  end
end

虽然这看起来像是覆盖了类,但实际上,如果类已经加载,它只是添加了方法。

Jon,我不知道您如何命名此文件,以及将其放置在何处?我尝试过/lib、/models、/models/concerns等,但没有任何效果。更新:我能够通过/config/initializers/Delayed_Job_extension.rb扩展延迟的_作业