Error Starting Rails - DEPRECATED_INSTANCE_VARIABLES

Hi,

I’ve got a rails app happily working on my Vista laptop.

I’ve installed a ubuntu slice using VMWorkstation to try & replicate my
hosting environment.

I think I’ve installed everything as I should, I’m running Edge rails, &
the below error occurs when I start the server.

Can someone please point me in the right direction to sort this?

rgds,

  • matt.

=> Rails application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment…
Exiting
/home/matt/Desktop/Rails
Websites/www.tickex.com/trunk/vendor/rails/activesupport/lib/active_support/dependencies.rb:477:in
const_missing': uninitialized constant ActionController::Base::DEPRECATED_INSTANCE_VARIABLES (NameError) from /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view/base.rb:160 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in gem_original_require’
from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
require' from /home/matt/Desktop/Rails Websites/www.tickex.com/trunk/vendor/rails/activesupport/lib/active_support/dependencies.rb:495:in require’
from /home/matt/Desktop/Rails
Websites/www.tickex.com/trunk/vendor/rails/activesupport/lib/active_support/dependencies.rb:342:in
new_constants_in' from /home/matt/Desktop/Rails Websites/www.tickex.com/trunk/vendor/rails/activesupport/lib/active_support/dependencies.rb:495:in require’
from
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view.rb:25
from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
gem_original_require' ... 42 levels... from /home/matt/Desktop/Rails Websites/www.tickex.com/trunk/vendor/rails/activesupport/lib/active_support/dependencies.rb:495:in require’
from /home/matt/Desktop/Rails
Websites/www.tickex.com/trunk/vendor/rails/railties/lib/commands/server.rb:39
from script/server:3:in `require’
from script/server:3

Matt S. wrote:

`const_missing’: uninitialized constant
ActionController::Base::DEPRECATED_INSTANCE_VARIABLES (NameError)
from

I’m running into the same problem on a debian install (not a virtual
machine). I would appreciate and information you might have discovered
to help solve this problem!

Jeremy

Hi, could you post the relevant code?

-Conrad

Conrad T. wrote:

Hi, could you post the relevant code?

-Conrad

Hmm. That’s the problem, I don’t know what the relevant code is. This
happens whenever mongrel_rails is started. It also happens when I start
script/console:

$ script/console
Loading development environment.
/home/jeremy/sites/dnweb/vendor/rails/activerecord/lib/…/…/activesupport/lib/active_support/dependencies.rb:477:in
const_missing':NameError: uninitialized constant ActionController::Base::DEPRECATED_INSTANCE_VARIABLES /home/jeremy/sites/dnweb/app/controllers/application.rb:2:inhelper’:ArgumentError: wrong number of arguments (1 for 0)

Now, application.rb, line 2, simply has :

helper :all

I don’t see why “helper” would require zero arguments.

We’re using edge rails, the most recent release (as of Friday). It’s
frozen in our /vendor tree. This same setup works well under OSX but
fails on debian.

If I remove the vendor/rails tree and let it drop back to the installed
version of rails (1.2.3) via gem, it fails as well:

$ script/console
Loading development environment.
/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/initializer.rb:328:in
send':NoMethodError: undefined methodsession=’ for
ActionController::Base:Class

I suspect there is some version mismatch between rails and something in
our debian environment. Or perhaps there’s something rails needs that is
missing. I was hoping someone had seen this problem before and would
reply “Hey, you just need to do X,Y,Z and it’s easy to fix.” Guess not?
:slight_smile:

Ok, I found the problem(s)… updating to ruby 1.8.5 (had 1.8.4
previously) fixed the DEPRECATED_INSTANCE_VARIABLES error. As for the
other two errors I had with helper and session:

  1. helper problem:

I’m not really sure why, but the following code, in
app/controllers/application.rb, worked under OSX, using rails 1.2.3 and
ruby 1.8.5:

class ApplicationController < ActionController::Base
helper :all

However, under my debian environment, it failed. So I changed it to load
the helpers I needed:

class ApplicationController < ActionController::Base
helper :css, :text, :list, etc…

  1. send':NoMethodError: undefined methodsession=’ for
    ActionController::Base:Class

I had this line in environment.rb:

config.action_controller.session = { :secret => “xxxxxx” }

I remember putting this line in a long time ago when troubleshooting
problems with sessions. I had read online that this helped. In any case,
I had to remove it to make the error message go away. It does not seem
like it was really needed, since the app works now :slight_smile: