如何访问Resque工人类中的路由?

时间:2011-08-09 17:29:12

标签: ruby ruby-on-rails-3 resque

我在Rails 3.1 RC5上运行。 Resque似乎不能从worker类访问root_url。我试着让include Rails.application.routes.url_helpers无济于事。

例如:

module EncodePhoto
  include Rails.application.routes.url_helpers

  def self.perform()
    puts root_url
  end
end

返回:

undefined method `root_url' for EncodePhoto:Module

1 个答案:

答案 0 :(得分:0)

如果我在rails console,我可以写:

include ActionController::UrlWriter

然后我可以访问我需要的路线。也许它也适用于你的问题?

编辑:请参阅this。这是从那里接受的答案:

include ActionDispatch::Routing::UrlFor
include ActionController::PolymorphicRoutes
include Rails.application.routes.url_helpers
default_url_options[:host] = 'example.com'