Dziwny problem z Rails3 i validates

OK, dzisiaj natrafiłem na zaskakującą sytuację (świeża instalacja softu, może dlatego):

[code]class User < ActiveRecord::Base

validates :email, :presence => true, :uniqueness => true, :format => { :with => /\A([^@\s]+)@((?:[-a-z0-9]+.)+[a-z]{2,})\Z/i, :on => :create }

end[/code]
Ten kawałek kodu (także BEZ sprawdzania formatu, tj. samo presence) w momencie odpalenia wyrzuca mi błąd:

ArgumentError: You need to supply at least one validation from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activemodel-3.0.1/lib/active_model/validations/validates.rb:79:in `validates' from /Users/pawelkomarnicki/Documents/PsieMiejsca/Aplikacja/app/models/user.rb:8 from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:454:in `load' from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:454:in `load_file' from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:591:in `new_constants_in' from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:453:in `load_file' from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:340:in `require_or_load' from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:491:in `load_missing_constant' from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:183:in `const_missing' from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:181:in `each' from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:181:in `const_missing' from (irb):1
I teraz się zastanawiam o co chodzi, bo nie pierwszy raz korzystam z Rails3 i dopiero teraz takie coś mi wyskoczyło — myślicie, że to może być związane z korzystaniem z Ruby Enterprise?

Dzięki z góry za wskazówki, ja już średnio dzisiaj kapuję o co chodzi z tym błędem :smiley:

OK, chyba wychodzi na to, że problemem jest jakiś składnik Rails 3.0.1 — na 3.0.0 zadziałało “jak jest”… Ech, w changelogu nie było żadnych widocznych zmian, tylko poprawki bezpieczeństwa :frowning:

To dość dziwne, bo 3.0.1 to właściwie tylko security release, z tego co pamiętam związana z użyciem nested_attributes_for. Jak będę miał chwilę czasu, to zrobię bisecta na commitach przed 3.0.1 ;]

No mnie to także mocno zdziwiło :frowning: Ale skoro dotarłem do rozwiązania, to problem rozwiązany ;)))