Confused about deprecation warnings in 2.0(.2)

Hi -

(FYI: I’ve recently moved to rails 2, fairly new to rails)

When running my tests, I’m getting some odd deprecation warnings:

  1. the warnings refer to Ruby on Rails — A web-app framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. for
    details, but are not listed there (hmmm)

  2. one of the warnings is obvious how to fix in my code:
    DEPRECATION WARNING: errors#on have been deprecated, please use
    errors#[] instead

But it is also occurring in various places in the libraries, e.g.
(called from on at /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2.9216/
lib/active_record/validations.rb:121)

which is possibly just a slight version mismatch, but would be rather
surprising…

  1. another of the warnings I don’t quite understand, and thus am not
    sure the implications of fixing it in the way suggested:
    .DEPRECATION WARNING: Wrapping input tags in error in a div is
    deprecated. By Rails 3.0 well add a CSS class called “error” to the
    tag instead. Set config.action_view.class_based_error_markings = true
    in your config to be ahead of the curve. See
    Ruby on Rails — A web-app framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
    for details. (called from tag at /Library/Ruby/Gems/1.8/gems/
    actionpack-2.0.2.9216/lib/action_view/helpers/active_record_helper.rb:

any light to shed on my darkness?

many thanks

Tim

NB: In case this is relevant, I found it difficult to specify exactly
the “RAILS_GEM_VERSION” in application.rb - I settled on “>= 2.0”
because “2.0.2” wasn’t found (only “2.0.2.9216” worked, and that
seemed a bit of a specific…) Various other options either worked for
script/server, or worked for rails test, but not both)

On 22 Apr 2008, at 10:44, Tim Diggins wrote:

NB: In case this is relevant, I found it difficult to specify exactly
the “RAILS_GEM_VERSION” in application.rb - I settled on “>= 2.0”
because “2.0.2” wasn’t found (only “2.0.2.9216” worked, and that
seemed a bit of a specific…) Various other options either worked for
script/server, or worked for rails test, but not both)

This may be part of your problem: you’ve ended up with edge rails (ie
the bleeding edge). This can happen if you’ve got gems.rubyonrails.org
as once of your gem sources. This has happened to a few people
recently, so you should be able to dig out instructions on how to fix
this (I can;t remember off the top of my head)

Fred

On Apr 22, 12:45 pm, Frederick C. [email protected]
wrote:

On 22 Apr 2008, at 10:44, Tim Diggins wrote:

This may be part of your problem: you’ve ended up with edge rails (ie
the bleeding edge). This can happen if you’ve got gems.rubyonrails.org
as once of your gem sources. This has happened to a few people
recently, so you should be able to dig out instructions on how to fix
this (I can;t remember off the top of my head)

Yes, thank you, that was exactly it.

Removing each of the gems (gem uninstall GEMNAME gives a nice version
selector), removing the gems.rubyonrails.org source (gem sources -r
http://gems.rubyonrails.org) and reupdating (gem update GEMNAME, or
just gem update) solved ALL my problems (though I had to make sure
some autogenerated files had 2.0.2 rather than edge defaults).

I had a suspicion that this was the case, but whenever I looked up
“edge rails” (in the books, and in the online docs) the opposition was
between edge rails (frozen in vendor/rails) and the ‘gem’ version
(really a gem of the release). But the fact that there are actually
gems of edge rails makes this terminology confusing.