Ruby on rails 如何按名称空间组织辅助作业
我有很多密切相关的ActiveJob端作业,由于每个作业都需要使用Ruby on rails 如何按名称空间组织辅助作业,ruby-on-rails,Ruby On Rails,我有很多密切相关的ActiveJob端作业,由于每个作业都需要使用perform,因此我想将它们放在一个文件夹名称空间中 例如,假设我有: app/jobs/hello_job.rb app/jobs/goodbye_job.rb app/jobs/thank_you_job.rb 我把它们分别称为HelloJob.perform\u 我想要的是: app/jobs/greetings/hello_job.rb app/jobs/greetings/goodbye_job.rb app/job
perform
,因此我想将它们放在一个文件夹名称空间中
例如,假设我有:
app/jobs/hello_job.rb
app/jobs/goodbye_job.rb
app/jobs/thank_you_job.rb
我把它们分别称为HelloJob.perform\u
我想要的是:
app/jobs/greetings/hello_job.rb
app/jobs/greetings/goodbye_job.rb
app/jobs/greetings/thank_you_job.rb
然后用类似于“问候语::HelloJob.perform_”的话给他们打电话。。。。尽管这不起作用。在ruby中,您可以使用模块作为名称空间 因此,您将密切相关的ActiveJobs放在一个文件夹中,并在一个模块中使用与文件夹相同的名称定义每个类 对于
app/jobs/greetings/hello_job.rb
module Greetings
class HelloJob < ActiveJob::Base
queue_as :default
def perform
puts 'Hello!'
end
end
end
模块问候语
类HelloJob
你有没有想过这一点。有类似的问题。