我是RoR和Heroku的新手,我已经在github repo上升了应用程序但是在浏览器上运行应用程序时出现错误。这是错误和heroku日志的屏幕截图: -
前端错误消息显示
&#34;我们很抱歉,但出了点问题。 此错误已自动报告,不便之处。<#34;
2014-07-01T05:44:24.617831+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake.rb:172:in `new'
2014-07-01T05:44:24.617835+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake.rb:132:in `notify_or_ignore'
2014-07-01T05:44:24.617827+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/notice.rb:322:in `find_session_data'
2014-07-01T05:44:24.617833+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake.rb:172:in `build_notice_for'
2014-07-01T05:44:24.617818+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:273:in `session_exists?'
2014-07-01T05:44:24.617837+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/rails/middleware.rb:40:in `notify_airbrake'
2014-07-01T05:44:24.617821+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:107:in `exists?'
2014-07-01T05:44:24.617839+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/rails/middleware.rb:15:in `rescue in call'
2014-07-01T05:44:24.617843+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
2014-07-01T05:44:24.617854+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/request_id.rb:22:in `call'
2014-07-01T05:44:24.617856+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/methodoverride.rb:21:in `call'
2014-07-01T05:44:24.617849+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/railties-3.2.18/lib/rails/rack/logger.rb:16:in `block in call'
2014-07-01T05:44:24.617852+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/railties-3.2.18/lib/rails/rack/logger.rb:16:in `call'
2014-07-01T05:44:24.617858+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/runtime.rb:17:in `call'
2014-07-01T05:44:24.617890+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.18/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
2014-07-01T05:44:24.617892+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/lock.rb:15:in `call'
2014-07-01T05:44:24.617902+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/static.rb:63:in `call'
2014-07-01T05:44:24.617904+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
2014-07-01T05:44:24.617906+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb:245:in `fetch'
2014-07-01T05:44:24.617908+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb:185:in `lookup'
2014-07-01T05:44:24.617910+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb:66:in `call!'
2014-07-01T05:44:24.617912+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
2014-07-01T05:44:24.617845+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/mi
ddleware/show_exceptions.rb:56:in `call'
2014-07-01T05:44:24.617915+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/user_informer.rb:12:in `call'
2014-07-01T05:44:24.617917+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/railties-3.2.18/lib/rails/engine.rb:484:in `call'
2014-07-01T05:44:24.617841+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/rails/middleware.rb:12:in `call'
2014-07-01T05:44:24.617847+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/railties-3.2.18/lib/rails/rack/logger.rb:32:in `call_app'
2014-07-01T05:44:24.617851+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.18/lib/active_support/tagged_logging.rb:22:in `tagged'
2014-07-01T05:44:24.617913+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/user_informer.rb:16:in `_call'
2014-07-01T05:44:24.617919+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/railties-3.2.18/lib/rails/application.rb:231:in `call'
2014-07-01T05:44:24.617921+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/railties-3.2.18/lib/rails/railtie/configurable.rb:30:in `method_missing'
2014-07-01T05:44:24.617922+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:576:in `process_client'
2014-07-01T05:44:24.617924+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:670:in `worker_loop'
2014-07-01T05:44:24.617930+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/bin/unicorn:126:in `<top (required)>'
2014-07-01T05:44:24.617926+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:525:in `spawn_missing_workers'
2014-07-01T05:44:24.617934+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/bin/unicorn:23:in `<main>'
2014-07-01T05:44:24.617928+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:140:in `start'
2014-07-01T05:44:24.617931+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/bin/unicorn:23:in `load'
2014-07-01T05:44:24.617936+00:00 app[web.1]:
2014-07-01T05:44:24.617938+00:00 app[web.1]:
2014-07-01T05:44:33.019295+00:00 heroku[router]: at=info method=GET path="/" host=goofycarpool.herokuapp.com request_id=51427406-bc26-48c4-9961-a27401d67249 fwd="122.174.120.48" dyno=web.1 connect=1ms service=80ms status=500 bytes=1778
2014-07-01T05:44:32.964192+00:00 app[web.1]: Started GET "/" for 122.174.120.48 at 2014-07-01 05:44:32 +0000
2014-07-01T05:44:33.018094+00:00 app[web.1]:
2014-07-01T05:44:33.018101+00:00 app[web.1]: ArgumentError (A secret is required to generate an integrity hash for cookie session data. Use config.secret_token = "some secret phrase of at least 30 characters"in config/initializers/secret_token.rb):
2014-07-01T05:44:33.018103+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/cookies.rb:319:in `ensure_secret_secure'
2014-07-01T05:44:33.018105+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/cookies.rb:284:in `initialize'
2014-07-01T05:44:33.018107+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/cookies.rb:231:in `new'
2014-07-01T05:44:33.018108+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/cookies.rb:231:in `signed'
2014-07-01T05:44:33.018113+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/session/cookie_store.rb:48:in `unpacked_cookie_data'
2014-07-01T05:44:33.018110+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/session/cookie_store.rb:50:in `block in unpacked_cookie_data'
2014-07-01T05:44:33.018112+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/session/abstract_store.rb:57:in `stale_session_check!'
2014-07-01T05:44:33.018132+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/session/abstract_store.rb:53:in `block in extract_session_id'
2014-07-01T05:44:33.018134+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/session/abstract_store.rb:57:in `stale_session_check!'
2014-07-01T05:44:33.018129+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/session/cookie.rb:107:in `extract_session_id'
2014-07-01T05:44:33.018145+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:273:in `session_exists?'
2014-07-01T05:44:33.018139+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:43:in `load_session_id!'
2014-07-01T05:44:33.018136+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/session/abstract_store.rb:53:in `extract_session_id'
2014-07-01T05:44:33.018141+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:32:in `[]'
2014-07-01T05:44:33.018143+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:267:in `current_session_id'
2014-07-01T05:44:33.018147+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:107:in `exists?'
2014-07-01T05:44:33.018149+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:127:in `load_for_read!'
2014-07-01T05:44:33.018160+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake.rb:172:in `build_notice_for'
2014-07-01T05:44:33.018158+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake.rb:172:in `new'
2014-07-01T05:44:33.018162+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake.rb:132:in `notify_or_ignore'
2014-07-01T05:44:33.018154+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/notice.rb:322:in `find_session_data'
2014-07-01T05:44:33.018156+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/notice.rb:131:in `initialize'
2014-07-01T05:44:33.018164+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/rails/middleware.rb:40:in `notify_airbrake'
2014-07-01T05:44:33.018151+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:59:in `[]'
2014-07-01T05:44:33.018228+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/railties-3.2.18/lib/rails/rack/logger.rb:16:in `block in call'
2014-07-01T05:44:33.018230+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.18/lib/active_support/tagged_logging.rb:22:in `tagged'
2014-07-01T05:44:33.018221+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
2014-07-01T05:44:33.018223+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
2014-07-01T05:44:33.018241+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.18/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
2014-07-01T05:44:33.018214+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/rails/middleware.rb:15:in `rescue in call'
2014-07-01T05:44:33.018239+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/runtime.rb:17:in `call'
2014-07-01T05:44:33.018219+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/rails/middleware.rb:12:in `call'
2014-07-01T05:44:33.018243+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/lock.rb:15:in `call'
2014-07-01T05:44:33.018255+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/static.rb:63:in `call'
2014-07-01T05:44:33.018226+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/railties-3.2.18/lib/rails/rack/logger.rb:32:in `call_app'
2014-07-01T05:44:33.018257+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
2014-07-01T05:44:33.018232+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/railties-3.2.18/lib/rails/rack/logger.rb:16:in `call'
2014-07-01T05:44:33.018258+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb:245:in `fetch'
2014-07-01T05:44:33.018260+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb:185:in `lookup'
2014-07-01T05:44:33.018236+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/methodoverride.rb:21:in `call'
2014-07-01T05:44:33.018261+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb:66:in `call!'
2014-07-01T05:44:33.018264+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/user_informer.rb:16:in `_call'
2014-07-01T05:44:33.018234+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.18/lib/action_dispatch/middleware/request_id.rb:22:in `call'
2014-07-01T05:44:33.018270+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/railties-3.2.18/lib/rails/railtie/configurable.rb:30:in `method_missing'
2014-07-01T05:44:33.018266+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/airbrake-4.0.0/lib/airbrake/user_informer.rb:12:in `call'
2014-07-01T05:44:33.018263+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
2014-07-01T05:44:33.018269+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/railties-3.2.18/lib/rails/application.rb:231:in `call'
2014-07-01T05:44:33.018272+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:576:in `process_client'
2014-07-01T05:44:33.018267+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/railties-3.2.18/lib/rails/engine.rb:484:in `call'
2014-07-01T05:44:33.018280+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/bin/unicorn:23:in `<main>'
2014-07-01T05:44:33.018277+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/bin/unicorn:126:in `<top (required)>'
2014-07-01T05:44:33.018273+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:670:in `worker_loop'
2014-07-01T05:44:33.018283+00:00 app[web.1]:
2014-07-01T05:44:33.018279+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/bin/unicorn:23:in `load'
2014-07-01T05:44:33.018276+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:140:in `start'
2014-07-01T05:44:33.018281+00:00 app[web.1]:
2014-07-01T05:44:33.018274+00:00 app[web.1]: vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:525:in `spawn_missing_workers'
答案 0 :(得分:0)
运行
$ rake secret
然后将输出字符串粘贴到config/initializers/secret_token.rb
MyAppNAME_GOES_HERE::Application.config.secret_key_base = 'e5d6fed054aadcb955c17d90ab0cae35b9921e3af7fa0f88ba2b8bcee6ab1b087e34c2081c867b42093f81197bd4272c49a2337fc7d31b6f892ae6ef57e842d7'
现在提交&amp;将所有更改推送到heroku。
PS:而不是更难编码的secret_key_base
,从安全性来看,更有意义的是在heroku上设置一个ENV var,如下所示:
$ heroku config:set SECRET_KEY_BASE=that_random_string_goes_here
有关如何执行此操作的详细信息,请查看this。但是如果你刚刚开始,那么你可以在以后学习如何做到这一点。这个硬编码会解决任何问题
答案 1 :(得分:0)
切勿直接将密钥放在config / initializers / secret_token.rb文件中。
这始终是一个安全威胁
而是将ENV变量创建为
MyAppNAME_GOES_HERE :: Application.config.secret_key_base = ENV [SECRET_KEY]
并将SECRET_KEY置于Heroku登录&gt;&gt;下的 heroku设置中under_app&gt;&gt;设置&gt;&gt;揭示配置变量
最后重新启动你的应用程序