Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我得到;未定义的方法'has#u key?';对于nil:NilClass“;对于所有的错误_Ruby On Rails_Ruby On Rails 3_Debugging_Error Handling - Fatal编程技术网

Ruby on rails 我得到;未定义的方法'has#u key?';对于nil:NilClass“;对于所有的错误

Ruby on rails 我得到;未定义的方法'has#u key?';对于nil:NilClass“;对于所有的错误,ruby-on-rails,ruby-on-rails-3,debugging,error-handling,Ruby On Rails,Ruby On Rails 3,Debugging,Error Handling,我的Rails版本是3.0.4.rc1和ruby 1.9.3p194 我面临着非常奇怪的问题 在我的项目中,我在development.log文件中获得了nil:NilClass的错误命名错误:未定义方法has_key?;在浏览器中获得了nil:NilClass的内部服务器错误未定义方法has_key 对于任何错误,如果其语句无效、变量未定义、raise、exit、数据库名称错误。。或者其他任何东西,我只收到上面的错误消息。这是如此令人沮丧,我无法知道什么是错误或哪里(行号和文件名)是错误 如果

我的Rails版本是3.0.4.rc1和ruby 1.9.3p194

我面临着非常奇怪的问题

在我的项目中,我在development.log文件中获得了nil:NilClass
错误命名错误:未定义方法
has_key?;在浏览器中获得了nil:NilClass的
内部服务器错误未定义方法
has_key

对于任何错误,如果其语句无效、变量未定义、raise、exit、数据库名称错误。。或者其他任何东西,我只收到上面的错误消息。这是如此令人沮丧,我无法知道什么是错误或哪里(行号和文件名)是错误

如果没有错误,它可以正常工作,但是当出现任何错误(raise、exit或任何其他错误)时,它会显示相同的错误消息。i、 e.
未定义的方法
对nil:NilClass有\u key`

错误日志:

[2013-04-19 14:41:07] ERROR NoMethodError: undefined method `has_key?' for nil:NilClass
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.0.4.rc1/lib/active_support/whiny_nil.rb:48:in `method_missing'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.2.5/lib/rack/runtime.rb:20:in `call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.0.4.rc1/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.2.5/lib/rack/lock.rb:13:in `block in call'
<internal:prelude>:10:in `synchronize'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.2.5/lib/rack/lock.rb:13:in `call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.0.4.rc1/lib/action_dispatch/middleware/static.rb:30:in `call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.0.4.rc1/lib/rails/application.rb:168:in `call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.0.4.rc1/lib/rails/application.rb:77:in `method_missing'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.0.4.rc1/lib/rails/rack/log_tailer.rb:14:in `call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.2.5/lib/rack/content_length.rb:13:in `call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.2.5/lib/rack/handler/webrick.rb:52:in `service'
/home/shweta/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/home/shweta/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/home/shweta/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
[2013-04-19 14:41:07]错误命名错误:未定义nil:NilClass的“has_key?”方法
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.0.4.rc1/lib/active\u support/whiny\u nil.rb:48:“方法”中缺少
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.2.5/lib/rack/runtime.rb:20:in'call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.0.4.rc1/lib/active\u support/cache/strategy/local\u cache.rb:72:in'call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.2.5/lib/rack/lock.rb:13:in'block-in-call'
:10:在“同步”中
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.2.5/lib/rack/lock.rb:13:in'call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.0.4.rc1/lib/action\u dispatch/middleware/static.rb:30:in'call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.0.4.rc1/lib/rails/application.rb:168:in'call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.0.4.rc1/lib/rails/application.rb:77:in'method_missing'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.0.4.rc1/lib/rails/rack/log_tailer.rb:14:in'call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.2.5/lib/rack/content_length.rb:13:in'call'
/home/shweta/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.2.5/lib/rack/handler/webrick.rb:52:在“服务”中
/home/shweta/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:在“服务”中
/home/shweta/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in'run'
/home/shweta/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in'block in start_thread'
,但我的模型文件很好

请帮忙


另外,我在rails控制台中没有这个问题。

请提供一些代码。查找方法是否有\u键?并查看其应用到哪个对象。问题似乎没有出现在控制台中,我猜它位于您的环境配置中,或者位于您的记录器配置中(如果记录器失败,它仍然会导致内部服务器错误)。你是不是搞乱了config.whiny_nils
,还是调整了记录器?@m_x,我在config/environments/development.rb文件中有
config.whiny_nils=true
你试图关闭它了吗?在rails 3之后不久,whiny_nils已从中删除。也许您的项目中最近的一个gem可能会与此产生奇怪的交互。@m_x,我将
config.whiny_nils
设置为
false
或将其注释掉,问题保持不变(每次更改后我都重新启动服务器)。