![](/img/trans.png)
[英]Rails Deployment to Heroku: NoMethodError: undefined method `+' for nil:NilClass
[英]Heroku ruby-on-rails deployment “undefined method `info' for nil:NilClass”
遵循一个教程,我已经成功地在本地制作了一个简单的RoR应用程序(使用SQLite和一些非常简单的数据模型),并通过git works与heroku进行了同步。 (Heroku服务器启动并显示通常的欢迎页面。)
但是,如果我想访问我的一个类网址,例如/users
,则会收到以下消息:
内部服务器错误
nil:NilClass的未定义方法`info'
heroku logs
显示
ERROR NoMethodError: undefined method `info' for nil:NilClass
/app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.7/lib/action_dispatch/middleware/request_id.rb:22:in `call'
/app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.3/lib/rack/runtime.rb:17:in `call'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.7/lib/rails/rack/logger.rb:25:in `call_app'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.7/lib/rails/rack/logger.rb:16:in `call'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.7/lib/rails/applicatio
n.rb:220:in `call'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.7/lib/rails/rack/log_tailer.rb:17:in `call'
/usr/local/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
/app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.3/lib/rack/methodoverride.rb:21:in `call'
/app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.3/lib/rack/lock.rb:15:in `call'
/usr/local/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
/app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.7/lib/action_dispatch/middleware/static.rb:62:in `call'
/app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.3/lib/rack/content_length.rb:14:in `call'
/app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.3/lib/rack/handler/webrick.rb:59:in `service'
/usr/local/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.7/lib/rails/engine.rb:479:in `call'
heroku[router]: at=info method=GET path=/users host=xxx.herokuapp.com fwd=178.190.207.99 dyno=web.1 queue=0 wait=0ms connect=0ms service=12ms status=500 bytes=340
似乎与请求at=info
的部分at=info
。 到目前为止,我的研究似乎表明与ActiveRecord:Base.logger
的连接,但是我不理解。
我什至从哪里开始寻找原因?
在其他帖子中,Gemfile也很重要,因此它是:
source 'https://rubygems.org'
gem 'rails', '3.2.7'
group :development do
gem 'sqlite3', '1.3.7'
end
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
运行以下命令(如果尚未运行):
heroku run rake db:migrate
您的UsersController是什么样的?
rake routes
的输出是什么?
添加:
config.active_record.logger=Logger.new(STDOUT)
到config / environment / xxx.rb。 xxx是您正在使用的环境的名称,应该是开发,生产或测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.