【问题标题】:Deployment of Rails 4 App to Heroku generates error将 Rails 4 应用程序部署到 Heroku 会产生错误
【发布时间】:2015-06-18 19:00:57
【问题描述】:

我的 Rails 4 应用程序在我的本地机器上运行良好,但是当我部署到 Heroku 时,我得到一个应用程序错误。即使 Heroku 说部署成功,也会发生错误。错误信息的文本是:

An error occurred in the application and your page could not be served.   Please try again in a few moments.
If you are the application owner, check your logs for details.

为了解决问题,我在控制台中运行了“heroku 日志”,生成了以下内容:

2015-06-18T00:42:56.355811+00:00 heroku[api]: Release v84 created by xxxxx@xxxxx.com
2015-06-18T00:42:56.418446+00:00 heroku[slug-compiler]: Slug compilation started
2015-06-18T00:42:56.418465+00:00 heroku[slug-compiler]: Slug compilation finished
2015-06-18T00:42:57.437719+00:00 heroku[web.1]: State changed from crashed to starting
2015-06-18T00:43:02.751137+00:00 heroku[web.1]: Starting process with command `bundle exec unicorn -p 58907 -c ./config/unicorn.rb`
2015-06-18T00:43:06.428523+00:00 app[web.1]: I, [2015-06-18T00:43:06.428375 #3]  INFO -- : Refreshing Gem list
2015-06-18T00:43:08.143475+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require': /app/app/helpers/simple_form.rb:5: syntax error, unexpected ')', expecting => (SyntaxError)
2015-06-18T00:43:08.143482+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `block in require'
2015-06-18T00:43:08.143486+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
2015-06-18T00:43:08.143484+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:232:in `load_dependency'
2015-06-18T00:43:08.143487+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:348:in `require_or_load'
2015-06-18T00:43:08.143491+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:307:in `depend_on'
2015-06-18T00:43:08.143492+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:225:in `require_dependency'
2015-06-18T00:43:08.143493+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:468:in `block (2 levels) in eager_load!'
2015-06-18T00:43:08.143497+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:467:in `each'
2015-06-18T00:43:08.143499+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:467:in `block in eager_load!'
2015-06-18T00:43:08.143502+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:465:in `each'
2015-06-18T00:43:08.143504+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:465:in `eager_load!'
2015-06-18T00:43:08.143507+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:346:in `eager_load!'
2015-06-18T00:43:08.143509+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/application/finisher.rb:58:in `each'
2015-06-18T00:43:08.143512+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/application/finisher.rb:58:in `block in <module:Finisher>'
2015-06-18T00:43:08.143513+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/initializable.rb:30:in `instance_exec'
2015-06-18T00:43:08.143517+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/initializable.rb:30:in `run'
2015-06-18T00:43:08.143520+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/initializable.rb:55:in `block in run_initializers'
2015-06-18T00:43:08.143522+00:00 app[web.1]:    from /app/vendor/ruby-    2.0.0/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each'
2015-06-18T00:43:08.143531+00:00 app[web.1]:    from /app/vendor/ruby-   2.0.0/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
2015-06-18T00:43:08.143534+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from'
2015-06-18T00:43:08.143536+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component'
2015-06-18T00:43:08.143538+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:180:in `each'
2015-06-18T00:43:08.143539+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component'
2015-06-18T00:43:08.143542+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each'
2015-06-18T00:43:08.143545+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/application.rb:300:in `initialize!'
2015-06-18T00:43:08.143544+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/initializable.rb:54:in `run_initializers'
2015-06-18T00:43:08.143548+00:00 app[web.1]:    from /app/config/environment.rb:5:in `<top (required)>'
2015-06-18T00:43:08.143550+00:00 app[web.1]:    from config.ru:4:in `require'
2015-06-18T00:43:08.143554+00:00 app[web.1]:    from config.ru:4:in `block in <main>'
2015-06-18T00:43:08.143555+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
2015-06-18T00:43:08.143559+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
2015-06-18T00:43:08.143561+00:00 app[web.1]:    from config.ru:1:in `new'
2015-06-18T00:43:08.143564+00:00 app[web.1]:    from config.ru:1:in `<main>'
2015-06-18T00:43:08.143572+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn.rb:48:in `block in builder'
2015-06-18T00:43:08.143569+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn.rb:48:in `eval'
2015-06-18T00:43:08.143574+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:764:in `call'
2015-06-18T00:43:08.143577+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:764:in `build_app!'
2015-06-18T00:43:08.143588+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/bin/unicorn:23:in `<main>'
2015-06-18T00:43:08.143579+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:137:in `start'
2015-06-18T00:43:08.143583+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/bin/unicorn:126:in `<top (required)>'
2015-06-18T00:43:08.143586+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/bin/unicorn:23:in `load'
2015-06-18T00:43:09.019077+00:00 heroku[web.1]: Process exited with status 1
2015-06-18T00:43:09.035754+00:00 heroku[web.1]: State changed from starting to crashed
2015-06-18T00:43:09.037320+00:00 heroku[web.1]: State changed from crashed to starting
2015-06-18T00:43:12.753943+00:00 heroku[web.1]: Starting process with command `bundle exec unicorn -p 44603 -c ./config/unicorn.rb`
2015-06-18T00:43:15.031204+00:00 app[web.1]: I, [2015-06-18T00:43:15.031071 #3]  INFO -- : Refreshing Gem list
**2015-06-18T00:43:16.824808+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require': /app/app/helpers/simple_form.rb:5: syntax error, unexpected ')', expecting => (SyntaxError)**
2015-06-18T00:43:16.824815+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `block in require'
2015-06-18T00:43:16.824818+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:232:in `load_dependency'
2015-06-18T00:43:16.824822+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
2015-06-18T00:43:16.824825+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:348:in `require_or_load'
2015-06-18T00:43:16.824832+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:225:in `require_dependency'
2015-06-18T00:43:16.824853+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:468:in `block (2 levels) in eager_load!'
2015-06-18T00:43:16.824829+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:307:in `depend_on'
2015-06-18T00:43:16.824855+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:467:in `each'
2015-06-18T00:43:16.824859+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:467:in `block in eager_load!'
2015-06-18T00:43:16.824863+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:465:in `each'
2015-06-18T00:43:16.824864+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:465:in `eager_load!'
2015-06-18T00:43:16.824866+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:346:in `eager_load!'
2015-06-18T00:43:16.824867+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/application/finisher.rb:58:in `each'
2015-06-18T00:43:16.824871+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/application/finisher.rb:58:in `block in <module:Finisher>'
2015-06-18T00:43:16.824872+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/initializable.rb:30:in `instance_exec'
2015-06-18T00:43:16.824874+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/initializable.rb:30:in `run'
2015-06-18T00:43:16.824877+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/initializable.rb:55:in `block in run_initializers'
2015-06-18T00:43:16.824879+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each'
2015-06-18T00:43:16.824897+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
2015-06-18T00:43:16.824898+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from'
2015-06-18T00:43:16.824903+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component'
2015-06-18T00:43:16.824905+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:180:in `each'
2015-06-18T00:43:16.824906+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component'
2015-06-18T00:43:16.824907+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each'
2015-06-18T00:43:16.824909+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/initializable.rb:54:in `run_initializers'
2015-06-18T00:43:16.824910+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/application.rb:300:in `initialize!'
2015-06-18T00:43:16.824916+00:00 app[web.1]:    from config.ru:4:in `require'
2015-06-18T00:43:16.824912+00:00 app[web.1]:    from /app/config/environment.rb:5:in `<top (required)>'
2015-06-18T00:43:16.824917+00:00 app[web.1]:    from config.ru:4:in `block in <main>'
2015-06-18T00:43:16.824919+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
2015-06-18T00:43:16.824921+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
2015-06-18T00:43:16.824923+00:00 app[web.1]:    from config.ru:1:in `new'
2015-06-18T00:43:16.824926+00:00 app[web.1]:    from config.ru:1:in `<main>'
2015-06-18T00:43:16.824927+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn.rb:48:in `eval'
2015-06-18T00:43:16.824929+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn.rb:48:in `block in builder'
2015-06-18T00:43:16.824930+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:764:in `call'
2015-06-18T00:43:16.824935+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:137:in `start'
2015-06-18T00:43:16.824934+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:764:in `build_app!'
2015-06-18T00:43:16.824936+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/bin/unicorn:126:in `<top (required)>'
2015-06-18T00:43:16.824940+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/bin/unicorn:23:in `load'
2015-06-18T00:43:16.824941+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/bin/unicorn:23:in `<main>'
2015-06-18T00:43:17.765684+00:00 heroku[web.1]: State changed from starting to crashed
2015-06-18T00:43:17.751742+00:00 heroku[web.1]: Process exited with status 1
2015-06-18T00:43:18.999914+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=gym-app.herokuapp.com request_id=7fe8bc0d-7744-4b9a-a6af-841451c30b8f fwd="67.100.124.109" dyno= connect= service= status=503 bytes=
2015-06-18T00:43:40.236226+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=gym-app.herokuapp.com request_id=54039c3e-c328-4ecd-b379-917fb5e33fec fwd="67.100.124.109" dyno= connect= service= status=503 bytes=
2015-06-18T00:44:26.777920+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=gym-app.herokuapp.com request_id=7169af3e-6665-4c9c-9498-8695f31c6f78 fwd="67.100.124.109" dyno= connect= service= status=503 bytes=
2015-06-18T00:48:08.390055+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=gym-app.herokuapp.com request_id=07bfbcef-38da-4d68-b5e4-6bf29e3816ae fwd="67.100.124.109" dyno= connect= service= status=503 bytes=

我不确定,但我想我已经确定了问题的根源。以下行对我来说很突出:

2015-06-18T00:43:16.824808+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require': /app/app/helpers/simple_form.rb:5: syntax error, unexpected ')', expecting => (SyntaxError)

这是我的 simple_form 帮助文件的内容:

module SimpleForm
  module Inputs
    class DateTimePickerInput < Base
      def input
        @builder.text_field(attribute_name, :class => 'date_time_picker', input_html_options)
      end    
    end
  end
end

请注意,在编写帮助文件之前,我可以成功地将应用程序部署到 Heroku。 Heroku 似乎对我的语法犹豫不决——尤其是右括号)。但是,我不知道如何纠正这个问题。我需要做什么才能满足 Heroku?如果能再次成功部署我的应用程序,我将不胜感激。谢谢!

【问题讨论】:

    标签: ruby-on-rails heroku simple-form


    【解决方案1】:

    只需替换:

    @builder.text_field(attribute_name, :class => 'date_time_picker', input_html_options)
    

    与:

    @builder.text_field(attribute_name, input_html_options.merge(:class => 'date_time_picker'))
    

    它会成功的。

    编辑 再次阅读此答案后,我意识到此代码始终会覆盖 :class 参数。如果你想使用被调用的参数而不是默认参数,你可以用reverse_merge来实现这个改变merge

    编辑2 仅当哈希选项参数是最后一个参数时,您才能删除它的花括号。对于这种情况,text_fields 接受 2 个参数,:class 属于第二个。

    【讨论】:

    • 谢谢!成功了……应用程序成功部署!
    猜你喜欢
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 2018-05-15
    • 2014-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多