2012-07-08 74 views
0

我學習西納特拉,我得到以下錯誤NoMethodError:未定義的方法<<爲無:NilClass

Boot Error 

Something went wrong while loading recall.rb 
NoMethodError: undefined method `<<' for nil:NilClass 

/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/rack-flash-0.1.2/lib/rack/flash.rb:11:in `use' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/bin/shotgun:128:in `block (2 levels) in <top (required)>' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:104:in `instance_eval' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:104:in `block in assemble_app' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:103:in `new' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:103:in `assemble_app' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:86:in `proceed_as_child' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:31:in `call!' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:18:in `call' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/favicon.rb:12:in `call' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/static.rb:14:in `call' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/builder.rb:134:in `call' 
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/handler/webrick.rb:59:in `service' 
/Users/nikhil/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service' 
/Users/nikhil/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run' 
/Users/nikhil/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread' 

我無法破譯它的ID不指向任何我的源文件。

當我跟着教程的this part談論通知和錯誤消息時,出現錯誤。 我的應用程序的主文件包括以下寶石。

require "sinatra" 
require "data_mapper" 
require "rack-flash" 
require "sinatra/redirect_with_flash" 

回答

2

您使用的是舊版本架閃光的不與機架的版本,您正在使用工作。拋出錯誤的線在機架閃光器本身內部,它試圖改變一些已經改變的機架內部狀態。

由於某種原因,該gem的最新版本被稱爲rack-flash3,這就是爲什麼安裝機架閃光仍然會讓您獲得舊版寶石的原因。

+0

我已經安裝了'rack-flash3'寶石。我應該對來源做出什麼樣的改變?我應該使用'rack-flash3'嗎? – nikhil 2012-07-08 20:04:04

+0

需要新的寶石。不要以爲你需要改變任何東西 – 2012-07-08 20:09:57

+0

謝謝我已經修復了require語句保持不變。 – nikhil 2012-07-08 20:16:44

相關問題