我有在一個文件中定義一個非常簡單的機架應用程序稱爲config.ru
:的Heroku +機架式應用+主動支持時區
require './environment'
class Ryan
def self.call(env)
[200, { "Content-Type" => "text/html" }, [Time.zone.now]]
end
end
run Ryan
在environment.rb
,有這樣的:
require 'active_support/core_ext/time/zones'
require 'active_support/time_with_zone'
require 'active_support/core_ext/time/conversions'
Time.zone = 'Sydney'
而在Gemfile
:
source "http://rubygems.org"
gem 'rack'
gem 'tzinfo'
gem 'activesupport'
當我在本地運行它,它的工作原理!巨大的成功。
然而,當我這個應用程序部署的Heroku它完全與這個顯示日誌失敗:
2012-03-01T02:01:55+00:00 app[web.1]: [2012-03-01 02:01:55] INFO ruby 1.9.2 (2011-07-09) [x86_64-linux]
2012-03-01T02:01:55+00:00 app[web.1]: [2012-03-01 02:01:55] INFO WEBrick 1.3.1
2012-03-01T02:01:55+00:00 app[web.1]: [2012-03-01 02:01:55] INFO WEBrick::HTTPServer#start: pid=1 port=27368
2012-03-01T02:01:56+00:00 heroku[web.1]: State changed from starting to up
2012-03-01T02:01:57+00:00 app[web.1]: [2012-03-01 02:01:57] ERROR NoMethodError: undefined method `now' for nil:NilClass
2012-03-01T02:01:57+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler/webrick.rb:59:in `service'
2012-03-01T02:01:57+00:00 app[web.1]: /usr/local/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
2012-03-01T02:01:57+00:00 app[web.1]: /app/config.ru:8:in `call'
2012-03-01T02:01:57+00:00 app[web.1]: /usr/local/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
2012-03-01T02:01:57+00:00 app[web.1]: /usr/local/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'
所以......有什麼dealio這裏? Heroku是否在不同的過程中運行它,這就是爲什麼它不能被發現?
什麼Heroku堆棧是這個*不*運行? – jipiboily 2012-03-01 02:29:44
沒關係,似乎像香草雪松 – jipiboily 2012-03-01 02:46:28