如何访问Resque worker类中的路由



我运行在Rails 3.1 RC5上。Resque似乎不能从工人类访问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

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

include ActionController::UrlWriter

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

编辑:请参阅此。以下是被接受的答案:

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

最新更新