繁体   English   中英

Heroku ruby​​-on-rails部署“ nil:NilClass的未定义方法'info'”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM