Hi! This may have been answered somewhere before, but my searches turned
up nothing.
I am developing a Rails app that generally works, but just generated a
new controller ("list" controller), did not add anything, and when I
go to
http://localhost:3000/list/
I receive an error. It appears that the page was properly generated, but
somewhere preparing the result raised this exception
undefined method `protocol'' for nil:NilClass
(The protocol method returns either http: or https:) I have other
controllers that work fine, but I''ve been stumped with this one. I am
pasting the error page and development log below. Versions are in the trace.
Does anyone know the cause, or have an idea/hint/solution for this? :-)
Thanks!
Allen
======= Error Page:
NoMethodError in List#index
undefined method `protocol'' for nil:NilClass
script/server:49
======= development.log:
Processing ListController#index (for 127.0.0.1 at Sat Nov 12 10:29:43
EST 2005)
Parameters: {"action"=>"index",
"controller"=>"list"}
Rendering within layouts/application
Rendering list/index (200 OK)
NoMethodError (undefined method `protocol'' for nil:NilClass):
/usr/lib/ruby/gems/1.8/gems/activesupport-1.1.1/lib/active_support/whiny_nil.rb:30:in
`method_missing''
/usr/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/base.rb:807:in
`complete_request_uri''
/usr/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:45:in
`perform_action_without_rescue''
/usr/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/rescue.rb:80:in
`perform_action''
/usr/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/base.rb:356:in
`process''
/usr/lib/ruby/gems/1.8/gems/rails-0.13.1/lib/dispatcher.rb:32:in
`dispatch''
/usr/lib/ruby/gems/1.8/gems/rails-0.13.1/lib/webrick_server.rb:105:in
`handle_dispatch''
/usr/lib/ruby/gems/1.8/gems/rails-0.13.1/lib/webrick_server.rb:71:in
`service''
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service''
/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run''
/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread''
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread''
/usr/lib/ruby/1.8/webrick/server.rb:95:in `start''
/usr/lib/ruby/1.8/webrick/server.rb:92:in `start''
/usr/lib/ruby/1.8/webrick/server.rb:23:in `start''
/usr/lib/ruby/1.8/webrick/server.rb:82:in `start''
/usr/lib/ruby/gems/1.8/gems/rails-0.13.1/lib/webrick_server.rb:57:in
`dispatch''
script/server:49
Rendering
/usr/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/templates/rescues/layout.rhtml
(500 Internal Error)
On 12-Nov-05, at 1:06 PM, Allen Fair wrote:> Hi! This may have been answered somewhere before, but my searches > turned up nothing. > > I am developing a Rails app that generally works, but just > generated a new controller ("list" controller), did not add > anything, and when I go to > http://localhost:3000/list/ > I receive an error. It appears that the page was properly > generated, but somewhere preparing the result raised this exception > > undefined method `protocol'' for nil:NilClass > > (The protocol method returns either http: or https:) I have other > controllers that work fine, but I''ve been stumped with this one. I > am pasting the error page and development log below. Versions are > in the trace.It looks like the request method for your controller is returning nil instead of a request instance. Make sure that you don''t assign anything to @request, and also ensure that you haven''t redefined request.
> It looks like the request method for your controller is returning nil > instead of a request instance. Make sure that you don''t assign anything > to @request, and also ensure that you haven''t redefined request.Thanks for the suggestion. However, this is happening on a newly-generated controller, with empty method definition and default view template. I have added no code yet. :-( Other controllers work fine. I will hunt further.
Seemingly Similar Threads
- NoMethodError (undefined method `match' for nil:NilClass):
- NoMethodError (undefined method `fetch_fields' for nil:NilClass)
- undefined method `to_sym' for nil:NilClass
- Dashboard throwing undefined method `to_time' for nil:NilClass error on page view
- Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id