ruby-on-rails - 未定义的方法 'arity' 导致 Rails 4 部署错误 Heroku (H10)

标签 ruby-on-rails heroku ruby-on-rails-4 ruby-2.0

过去 2 天我一直收到此错误。我已经尝试了可能的每一个配置更改解决方案。该应用程序在我的本地环境中运行良好,但似乎只有当我部署到heroku时才会崩溃,所以我不确定我的代码是否有问题。有人可以建议我接下来可以做什么吗?这是日志 -

2013-08-06T06:07:57.332143+00:00 app[web.1]: config.eager_load is set to nil. Please 
update your config/environments/*.rb files accordingly:
2013-08-06T06:07:57.332143+00:00 app[web.1]: 
2013-08-06T06:07:57.332143+00:00 app[web.1]:   * development - set it to false
2013-08-06T06:07:57.332143+00:00 app[web.1]:   * production - set it to true
2013-08-06T06:07:57.332143+00:00 app[web.1]:   * test - set it to false (unless you use a tool that preloads your test environment)
2013-08-06T06:07:57.332143+00:00 app[web.1]: 
2013-08-06T06:07:57.433472+00:00 app[web.1]: params or add `protected_attributes` to your Gemfile to use the old one.
2013-08-06T06:07:57.433472+00:00 app[web.1]: `config/application.rb` file and any `mass_assignment_sanitizer` options
2013-08-06T06:07:57.433472+00:00 app[web.1]: from your `config/environments/*.rb` files.
2013-08-06T06:07:57.433472+00:00 app[web.1]: See http://guides.rubyonrails.org/security.html#mass-assignment for more information.
2013-08-06T06:07:57.433472+00:00 app[web.1]: To disable this message remove the `whitelist_attributes` option from your
2013-08-06T06:07:57.433472+00:00 app[web.1]: out of Rails into a gem. Please use the new recommended protection model for
2013-08-06T06:07:57.433472+00:00 app[web.1]:  
2013-08-06T06:07:57.433472+00:00 app[web.1]: 
2013-08-06T06:07:57.433472+00:00 app[web.1]: 
2013-08-06T06:07:57.433472+00:00 app[web.1]: DEPRECATION WARNING: Model based mass assignment security has been extracted
2013-08-06T06:07:58.741762+00:00 app[web.1]: => Booting WEBrick
2013-08-06T06:07:58.742020+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:58 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Application: My Application
2013-08-06T06:07:58.741762+00:00 app[web.1]: => Rails 4.0.0 application starting in production on http://0.0.0.0:41380
2013-08-06T06:07:58.741762+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:58 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Starting the New Relic agent in "production" environment.
2013-08-06T06:07:58.741762+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:58 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : To prevent agent startup add a NEWRELIC_ENABLE=false environment variable or modify the "production" section of your newrelic.yml.
2013-08-06T06:07:58.741762+00:00 app[web.1]: => Run `rails server -h` for more startup options
2013-08-06T06:07:58.741762+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:58 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Reading configuration from config/newrelic.yml
2013-08-06T06:07:58.741762+00:00 app[web.1]: => Ctrl-C to shutdown server
2013-08-06T06:07:58.741762+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:58 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Environment: production
2013-08-06T06:07:58.741762+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:58 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Enabling the Request Sampler.
2013-08-06T06:07:58.741762+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:58 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Dispatcher: webrick
2013-08-06T06:08:04.062061+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/associations/builder/association.rb:29:in `initialize': undefined method `arity' for :custom_type:Symbol (NoMethodError)
2013-08-06T06:08:04.062061+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/associations.rb:1401:in `belongs_to'
2013-08-06T06:08:04.062061+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
2013-08-06T06:08:04.062061+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `block in require'
2013-08-06T06:08:04.062061+00:00 app[web.1]:    from /app/app/models/field.rb:4:in `<class:Field>'
2013-08-06T06:08:04.062061+00:00 app[web.1]:    from /app/app/models/field.rb:1:in `<top (required)>'
2013-08-06T06:08:04.062751+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'
2013-08-06T06:08:04.062061+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/associations/builder/association.rb:12:in `new'
2013-08-06T06:08:04.062319+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine.rb:462:in `each'
2013-08-06T06:08:04.062751+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/initializable.rb:55:in `block in run_initializers'
2013-08-06T06:08:04.062319+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine.rb:464:in `each'
2013-08-06T06:08:04.062751+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/application/finisher.rb:56:in `each'
2013-08-06T06:08:04.062751+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/initializable.rb:30:in `instance_exec'
2013-08-06T06:08:04.062061+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/associations/builder/association.rb:12:in `build'
2013-08-06T06:08:04.062751+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine.rb:347:in `eager_load!'
2013-08-06T06:08:04.062751+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'
2013-08-06T06:08:04.062061+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency'
2013-08-06T06:08:04.062319+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine.rb:462:in `eager_load!'
2013-08-06T06:08:04.062751+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'
2013-08-06T06:08:04.062319+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:288:in `depend_on'
2013-08-06T06:08:04.062906+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:180:in `each'
2013-08-06T06:08:04.063055+00:00 app[web.1]:    from /app/config.ru:3:in `block in <main>'
2013-08-06T06:08:04.062061+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activerecord-deprecated_finders-1.0.3/lib/active_record/deprecated_finders/association_builder.rb:70:in `initialize_with_deprecated_options'
2013-08-06T06:08:04.062751+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'
2013-08-06T06:08:04.063055+00:00 app[web.1]:    from /app/config.ru:in `<main>'
2013-08-06T06:08:04.062319+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
2013-08-06T06:08:04.062319+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:329:in `require_or_load'
2013-08-06T06:08:04.062906+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/application.rb:215:in `initialize!'
2013-08-06T06:08:04.063055+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'
2013-08-06T06:08:04.062906+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `block in require'
2013-08-06T06:08:04.063055+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
2013-08-06T06:08:04.063055+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in `new_from_string'
2013-08-06T06:08:04.062319+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:206:in `require_dependency'
2013-08-06T06:08:04.062319+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine.rb:464:in `block in eager_load!'
2013-08-06T06:08:04.062751+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/initializable.rb:30:in `run'
2013-08-06T06:08:04.062319+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine.rb:465:in `block (2 levels) in eager_load!'
2013-08-06T06:08:04.062751+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/application/finisher.rb:56:in `block in <module:Finisher>'
2013-08-06T06:08:04.062906+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'
2013-08-06T06:08:04.062906+00:00 app[web.1]:    from /app/config/environment.rb:5:in `<top (required)>'
2013-08-06T06:08:04.062906+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
2013-08-06T06:08:04.063540+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:199:in `app'
2013-08-06T06:08:04.063055+00:00 app[web.1]:    from /app/config.ru:in `new'
2013-08-06T06:08:04.063055+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in `eval'
2013-08-06T06:08:04.063055+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:277:in `build_app_and_options_from_config'
2013-08-06T06:08:04.063540+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:314:in `wrapped_app'
2013-08-06T06:08:04.063540+00:00 app[web.1]:    from bin/rails:4:in `require'
2013-08-06T06:08:04.062906+00:00 app[web.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each'
2013-08-06T06:08:04.062906+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/railtie/configurable.rb:30:in `method_missing'
2013-08-06T06:08:04.062906+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/initializable.rb:54:in `run_initializers'
2013-08-06T06:08:04.062906+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency'
2013-08-06T06:08:04.063540+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:78:in `block in <top (required)>'
2013-08-06T06:08:04.063055+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'
2013-08-06T06:08:04.063540+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `<top (required)>'
2013-08-06T06:08:04.063540+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/commands/server.rb:75:in `start'
2013-08-06T06:08:04.063540+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `tap'
2013-08-06T06:08:04.063540+00:00 app[web.1]:    from bin/rails:4:in `<main>'
2013-08-06T06:08:04.063055+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:40:in `parse_file'
2013-08-06T06:08:04.063540+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/commands/server.rb:48:in `app'
2013-08-06T06:08:04.178658+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:59 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Installing deferred Rack instrumentation
2013-08-06T06:08:04.178658+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:59 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Installing Rails 4 Controller instrumentation
2013-08-06T06:08:04.178658+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:59 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Installing Rails4 Error instrumentation
2013-08-06T06:08:04.178658+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:59 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Installing Net instrumentation
2013-08-06T06:08:04.178658+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:59 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Installing Rails 4 view instrumentation
2013-08-06T06:08:04.178658+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:59 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Finished instrumentation
2013-08-06T06:08:04.178658+00:00 app[web.1]: ** [NewRelic][08/06/13 06:07:59 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Installing ActiveRecord 4 instrumentation
2013-08-06T06:08:04.178658+00:00 app[web.1]: ** [NewRelic][08/06/13 06:08:00 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Reporting to: https://rpm.newrelic.com/accounts/386768/applications/*****
2013-08-06T06:08:04.178658+00:00 app[web.1]: Exiting
2013-08-06T06:08:04.178658+00:00 app[web.1]: ** [NewRelic][08/06/13 06:08:03 +0000 bc4e42fd-685e-4f33-81fe-77ff7b0aa790 (2)] INFO : Starting Agent shutdown
2013-08-06T06:08:05.648375+00:00 heroku[web.1]: Process exited with status 1
2013-08-06T06:08:05.665239+00:00 heroku[web.1]: State changed from starting to crashed
2013-08-06T06:08:08.293497+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=***** fwd="65.128.39.118" dyno= connect= service= status=503 bytes=
2013-08-06T06:08:08.516985+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=***** fwd="65.128.39.118" dyno= connect= service= status=503 bytes=
2013-08-06T06:08:15.570976+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=***** fwd="65.128.39.118" dyno= connect= service= status=503 bytes=

***** 代表故意隐藏的信息

最佳答案

我认为这个问题与heroku无关。我在我的一个模型中犯了一个错误,其中有类似 belongs_to :type1, :type2 的内容,为此我应该将它们放在 2 个单独的行中 - 例如 belongs_to :type1 Belongs_to :type2 (奇怪的是 rake 在我的本地没有抛出任何错误)。

解决这个问题后我还遇到了另一个问题。 Heroku 抛出此错误 -

Fetching gem metadata from https://rubygems.org/..
Could not find safe_yaml-0.9.4 in any of the sources

我的 Gemfile 中没有 safe_yaml-0.9.4,但发现它包含在我的 Gemfile.lock 中。我将 safe_yaml-0.9.4 更改为 safe_yaml-0.9.3 并推送到heroku。现在一切都恢复正常了。

对误导性标题表示歉意。但是,如果其他人像我一样遇到 Heroku 的 arity 错误,这可能会提供解决方案。

关于ruby-on-rails - 未定义的方法 'arity' 导致 Rails 4 部署错误 Heroku (H10),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18073047/

相关文章:

ruby - Heroku:数据库配置没有指定适配器

ruby - 强参数 : How to process nested json code?

mysql - Ruby on Rails - 在 SSH 隧道查询后连接回应用程序数据库

ruby-on-rails - 需要在 rails outlet 中正确获取主要的 Ember outlet

ruby - 如何在测试模式下启动mailman服务器

mysql - "We' 抱歉,出了点问题。”部署到 Heroku 后

ssl - JRuby Heroku gem

ruby-on-rails - 在 Rails HABTM 嵌套表单中创建新记录

ruby-on-rails - Rails:记录的自定义排序

node.js - heroku 运行 gulp 构建