Heroku Cedar - 没有安装Resque前端的静态资产

zef*_*fer 6 ruby ruby-on-rails heroku resque

我有一个简单的Rails应用程序部署到Heroku Cedar堆栈.

该应用程序使用Resque和Resque Sinatra前端应用程序安装,以便我可以监视队列:

# routes.rb
...
mount Resque::Server, :at => "/resque"
Run Code Online (Sandbox Code Playgroud)

这很好用,但是当部署到Heroku时,Resque前端的CSS和JavaScript没有被提供.

一段Heroku的日志表明它返回零字节:

...
2011-07-13T16:19:35+00:00 heroku[router]: GET myapp.herokuapp.com/resque/style.css dyno=web.1 queue=0 wait=0ms service=3ms status=200 bytes=0
2011-07-13T16:19:35+00:00 app[web.1]: 
2011-07-13T16:19:35+00:00 app[web.1]: 
2011-07-13T16:19:35+00:00 app[web.1]: Started GET "/resque/style.css" for 87.xx.xx.xx at 2011-07-13 16:19:35 +0000
2011-07-13T16:19:35+00:00 app[web.1]: cache: [GET /resque/style.css] miss
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它服务这些资产?

Eze*_*lin 6

尝试删除路线并将应用程序安装到您的config.ru.我正在使用以下内容:

require ::File.expand_path('../config/environment',  __FILE__)
require 'resque/server'

run Rack::URLMap.new(
    "/" => Rails.application,
    "/resque" => Resque::Server.new 
)
Run Code Online (Sandbox Code Playgroud)


kai*_*ain 5

与ezkl相同但密码保护,适合我:

# config.ru
# This file is used by Rack-based servers to start the application.

require ::File.expand_path('../config/environment',  __FILE__)
require 'resque/server'

# Set the AUTH env variable to your basic auth password to protect Resque.
AUTH_PASSWORD = ENV['RESQUE_PASSWORD']
if AUTH_PASSWORD
  Resque::Server.use Rack::Auth::Basic do |username, password|
    password == AUTH_PASSWORD
  end
end

run Rack::URLMap.new \
  '/'       => MyApp::Application,
  '/resque' => Resque::Server.new
Run Code Online (Sandbox Code Playgroud)