I just installed Rails 2.3.2 and tried to upgrade my test app from
2.1.2. After installing Rails 2.3.2, I simply changed the gem version
in my environment.rb file in config directory as shown below:
# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = ''2.3.2'' unless defined? RAILS_GEM_VERSION
The server refuses to start and I get the following stacktrace:
=> Booting Mongrel
=> Rails 2.3.2 application starting on http://0.0.0.0:3000
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:416:in
`initialize_database'': undefined method `configurations='' for
ActiveRecord::Base:Class (NoMethodError)
from
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:141:in
`process''
from
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in
`send''
from
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in
`run''
from /home/bruparel/exp/pizzeria-3/config/environment.rb:13
from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require''
from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require''
from
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in
`require''
from
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in
`new_constants_in''
from
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in
`require''
from
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/commands/server.rb:84
from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require''
from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require''
from script/server:3
Change it back to 2.1.2 and I am fine. Is there something that is
missing? I do a rails -v and it shows that 2.3.2 is installed as shown
below:
bruparel@bcr-d810:~$ rails -v
Rails 2.3.2
bruparel@bcr-d810:~$
Thanks for your time.
Bharat
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
On Wed, Mar 25, 2009 at 2:09 PM, Bharat Ruparel < rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > I just installed Rails 2.3.2 and tried to upgrade my test app from > 2.1.2. After installing Rails 2.3.2, I simply changed the gem version > in my environment.rb file in config directory as shown below: > > # Specifies gem version of Rails to use when vendor/rails is not present > RAILS_GEM_VERSION = ''2.3.2'' unless defined? RAILS_GEM_VERSION > > The server refuses to start and I get the following stacktrace: > > => Booting Mongrel > => Rails 2.3.2 application starting on http://0.0.0.0:3000 > /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:416:in > `initialize_database'': undefined method `configurations='' for > ActiveRecord::Base:Class (NoMethodError) > from > /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:141:in > `process'' > from > /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in > `send'' > from > /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in > `run'' > from /home/bruparel/exp/pizzeria-3/config/environment.rb:13 > from > /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `gem_original_require'' > from > /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `require'' > from > > /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in > `require'' > from > > /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in > `new_constants_in'' > from > > /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in > `require'' > from > /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/commands/server.rb:84 > from > /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `gem_original_require'' > from > /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `require'' > from script/server:3 > > > Change it back to 2.1.2 and I am fine. Is there something that is > missing? I do a rails -v and it shows that 2.3.2 is installed as shown > below: > > bruparel@bcr-d810:~$ rails -v > Rails 2.3.2 > bruparel@bcr-d810:~$ > > Thanks for your time. > > BharatHi, did you update your configs? rake rails:update -Conrad> > -- > Posted via http://www.ruby-forum.com/. > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hello Conrad, you wrote:> > Hi, did you update your configs? > > rake rails:update > > -ConradNo. I had not done that, but after reading your reply I did, but I get the same error :) as can be seen below: bruparel@bcr-d810:~/exp/pizzeria-3$ cd config/ bruparel@bcr-d810:~/exp/pizzeria-3/config$ vi environment.rb bruparel@bcr-d810:~/exp/pizzeria-3/config$ cd .. bruparel@bcr-d810:~/exp/pizzeria-3$ rake rails:update (in /home/bruparel/exp/pizzeria-3) /home/bruparel/exp/pizzeria-3/app/controllers/application.rb has been renamed to /home/bruparel/exp/pizzeria-3/app/controllers/application_controller.rb, update your SCM as necessary bruparel@bcr-d810:~/exp/pizzeria-3$ ruby ./script/server => Booting Mongrel => Rails 2.3.2 application starting on http://0.0.0.0:3000 /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:416:in `initialize_database'': undefined method `configurations='' for ActiveRecord::Base:Class (NoMethodError) Note that I edited the environment.rb to set Rails Gems to 2.3.2, but it does not work. Bharat -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hello Conrad,
I am making good progress towards resolving this, but am not there
entirely. Following is my abbreviated environment.rb file. Note that I
have commented out the RAILS_GEM_VERSION line so that the latest rails
2.3.2 is loaded.
# Specifies gem version of Rails to use when vendor/rails is not present
#RAILS_GEM_VERSION = ''2.1.2'' unless defined? RAILS_GEM_VERSION
# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), ''boot'')
Rails::Initializer.run do |config|
# Add additional load paths for your own custom dirs
config.load_paths += %W( #{RAILS_ROOT}/app/form_builders )
config.time_zone = ''UTC''
config.action_controller.session = {
:session_key => ''_pizzeria_session'',
:secret =>
''1cac89a5ef8e67d30b297648243baee84a52d16dbbf11690733a73c825da43c327a6552f9498d0fe2ecf29cbc09ebf6115102fe3d26f969909f005dc1da39e09''
}
require "#{RAILS_ROOT}/lib/active_record_extensions.rb"
end
if I comment out the last require
"#{RAILS_ROOT}/lib/active_record_extensions.rb"
statement as shown below:
# require "#{RAILS_ROOT}/lib/active_record_extensions.rb"
and restart the server then it boots and everything works fine except
where I need the functionality contained in
lib/active_record_extensions.rb file which is as follows:
module ActiveRecord
class Base
def self.search(search, current_page, search_field)
if search.blank?
paginate(:all, :page => current_page || 1, :per_page => 5)
else
paginate(:all, :conditions => ["#{search_field} LIKE ?",
"%#{search}%"], :order => ''name'',
:page => current_page || 1, :per_page => 5)
end
end
end
end
Why does Rails 2.3.2 have a problem with it when 2.1.2 does not? The
error messages are very misleading and point to some problem with
database when there is none?
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Figured it out:
Rails 2.3 has a problem with requiring any files within the initializer
block as shown below.
Rails::Initializer.run do |config|
require "#{RAILS_ROOT}/lib/active_record_extensions.rb"
end
Instead, it wants you to put your require statement outside the block as
shown below:
Rails::Initializer.run do |config|
.....
end
require "#{RAILS_ROOT}/lib/active_record_extensions.rb"
This works. Why is it so? I do not know. If someone can explain this,
I would appreciate it.
Thanks.
Bharat
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
On Mar 25, 11:36 pm, Bharat Ruparel <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> Figured it out: > > Rails 2.3 has a problem with requiring any files within the initializer > block as shown below. > > Rails::Initializer.run do |config| > > require "#{RAILS_ROOT}/lib/active_record_extensions.rb" > > endActiveRecord is not loaded at this point. The right place for this sort of stuff is in an initializer (see http://www.spacevatican.org/2008/11/21/environment-rb-and-requiring-dependencies for ways where putting it at the bottom of environment.rb can go wrong). Fred --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Thanks Fred. Here is what I did after reading the link that you posted:
I created the config/initializers/load_lib_dir.rb with the following
line of code:
Dir.glob( "#{ RAILS_ROOT }/lib/*.rb" ).each { |f| require f } <--
thanks
Greg.
I guess, I have some homework to do on the initializers.
Regards,
Bharat
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Please use rake rails:update After you update your rails version, you should check your app, the config file and the plugins. Most time ,the errors are happening in the config file(config/ environments/....) and the plugins. On Mar 26, 5:09 am, Bharat Ruparel <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> I just installed Rails 2.3.2 and tried to upgrade my test app from > 2.1.2. After installing Rails 2.3.2, I simply changed the gem version > in my environment.rb file in config directory as shown below: > > # Specifies gem version of Rails to use when vendor/rails is not present > RAILS_GEM_VERSION = ''2.3.2'' unless defined? RAILS_GEM_VERSION > > The server refuses to start and I get the following stacktrace: > > => Booting Mongrel > => Rails 2.3.2 application starting onhttp://0.0.0.0:3000/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/... > `initialize_database'': undefined method `configurations='' for > ActiveRecord::Base:Class (NoMethodError) > from > /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:141:in > `process'' > from > /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in > `send'' > from > /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in > `run'' > from /home/bruparel/exp/pizzeria-3/config/environment.rb:13 > from > /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `gem_original_require'' > from > /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `require'' > from > /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in > `require'' > from > /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in > `new_constants_in'' > from > /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in > `require'' > from > /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/commands/server.rb:84 > from > /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `gem_original_require'' > from > /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `require'' > from script/server:3 > > Change it back to 2.1.2 and I am fine. Is there something that is > missing? I do a rails -v and it shows that 2.3.2 is installed as shown > below: > > bruparel@bcr-d810:~$ rails -v > Rails 2.3.2 > bruparel@bcr-d810:~$ > > Thanks for your time. > > Bharat > -- > Posted viahttp://www.ruby-forum.com/.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---