# Valid? is not working in Rails 2.2.2

**URL:** <https://www.ruby-forum.com/t/valid-is-not-working-in-rails-2-2-2/154522>\
**Category:** Rails\
**Created:** [December 1, 2008, 7:08am UTC](https://www.ruby-forum.com/t/valid-is-not-working-in-rails-2-2-2/154522 "2008-12-01T07:08:27Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![vmvipin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/c0e974/32.png) [@vmvipin](https://www.ruby-forum.com/u/vmvipin)\
**Post date:** [December 1, 2008, 7:08am UTC](https://www.ruby-forum.com/t/valid-is-not-working-in-rails-2-2-2/154522/1 "2008-12-01T07:08:27Z")

</div>

Hey,

I have a problem regarding the validation in rails 2.2.2. In my model  
User has these conditions.

validates\_presence\_of :user\_name, :password, :email, :display\_name  
validates\_uniqueness\_of :email, :message =\> ’ Already Exists in the  
System.’

When i run this in rails 2.0.2 its working fine.

Loading development environment (Rails 2.0.2)  
?\> user = User.new  
user = User.new  
=\> #\<User:0x20e4140 @new\_record=true, @attributes={“user\_name”=\>nil,  
“password”=\>nil, “display\_name”=\>nil,  
“email”=\>nil,“created\_on”=\>nil,“modified\_on”=\>nil}\>

> > user.valid?  
> > user.valid?  
> > =\> false

But in 2.2.2 give error.

Loading development environment (Rails 2.2.2)  
?\> user = User.new  
user = User.new  
=\> #\<User id: nil, user\_name: nil, password: nil, display\_name: nil,  
email: nil, created\_on: nil, modified\_on: nil\>

> > user.valid?  
> > user.valid?  
> > ArgumentError: wrong number of arguments (3 for 2)  
> > from  
> > /Library/Ruby/Gems/1.8/gems/activerecord-2.2.2/lib/active\_record/validations.rb:66:in  
> > `add' from /Library/Ruby/Gems/1.8/gems/activerecord-2.2.2/lib/active_record/validations.rb:66:in`add\_on\_blank’  
> > from  
> > /Library/Ruby/Gems/1.8/gems/activerecord-2.2.2/lib/active\_record/validations.rb:64:in  
> > `each' from /Library/Ruby/Gems/1.8/gems/activerecord-2.2.2/lib/active_record/validations.rb:64:in`add\_on\_blank’  
> > from  
> > /Library/Ruby/Gems/1.8/gems/activerecord-2.2.2/lib/active\_record/validations.rb:517:in  
> > `validates_presence_of' from /Library/Ruby/Gems/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:182:in`call’  
> > from  
> > /Library/Ruby/Gems/1.8/gems/activesupport-2.2.2/lib/active\_support/callbacks.rb:182:in  
> > `evaluate_method' from /Library/Ruby/Gems/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:166:in`call’  
> > from  
> > /Library/Ruby/Gems/1.8/gems/activesupport-2.2.2/lib/active\_support/callbacks.rb:90:in  
> > `run' from /Library/Ruby/Gems/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:90:in`each’  
> > from  
> > /Library/Ruby/Gems/1.8/gems/activesupport-2.2.2/lib/active\_support/callbacks.rb:90:in  
> > `send' from /Library/Ruby/Gems/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:90:in`run’  
> > from  
> > /Library/Ruby/Gems/1.8/gems/activesupport-2.2.2/lib/active\_support/callbacks.rb:277:in  
> > `run_callbacks' from /Library/Ruby/Gems/1.8/gems/activerecord-2.2.2/lib/active_record/validations.rb:1029:in`valid\_without\_callbacks?’  
> > from  
> > /Library/Ruby/Gems/1.8/gems/activerecord-2.2.2/lib/active\_record/callbacks.rb:286:in  
> > `valid?’  
> > from (irb):11

---

<div class="post-metadata">

**Author:** ![vmvipin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/c0e974/32.png) [@vmvipin](https://www.ruby-forum.com/u/vmvipin)\
**Post date:** [December 1, 2008, 10:56am UTC](https://www.ruby-forum.com/t/valid-is-not-working-in-rails-2-2-2/154522/2 "2008-12-01T10:56:42Z")

</div>

Hi Rick

when i commented the following line, it worked fine.

validates\_presence\_of :user\_name, :password, :email, :display\_name

then what could be wrong?

Vipin

---

<div class="post-metadata">

**Author:** ![vmvipin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/c0e974/32.png) [@vmvipin](https://www.ruby-forum.com/u/vmvipin)\
**Post date:** [December 1, 2008, 9:18am UTC](https://www.ruby-forum.com/t/valid-is-not-working-in-rails-2-2-2/154522/3 "2008-12-01T09:18:47Z")

</div>

Hey back at you,

Ruby version 1.8.7 (powerpc-darwin9)  
RubyGems version 1.3.1  
Rails version 2.2.2  
Active Record version 2.2.2  
Action Pack version 2.2.2  
Active Resource version 2.2.2  
Action Mailer version 2.2.2  
Active Support version 2.2.2  
Application root /Users/rick/test222  
Environment development  
Database adapter sqlite3  
Database schema version 20081124180200

=================

class User \< ActiveRecord::Base  
validates\_presence\_of :first\_name,  
:middle\_initial, :last\_name,  
:username, :date\_of\_birth, :email  
validates\_uniqueness\_of :email,  
:message =\> ‘Already Exists in the System’

end

=================

script/console  
Loading development environment (Rails 2.2.2)  
user = User.new

> > user = User.new  
> > =\> #\<User id: nil, first\_name: nil, middle\_initial: nil, last\_name:  
> > nil, username: nil, date\_of\_birth: nil, email: nil, created\_at: nil,  
> > updated\_at: nil\>
> 
> > user.valid?  
> > =\> false
> 
> >

Rick

---

<div class="post-metadata">

**Author:** ![vmvipin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/c0e974/32.png) [@vmvipin](https://www.ruby-forum.com/u/vmvipin)\
**Post date:** [December 1, 2008, 11:26am UTC](https://www.ruby-forum.com/t/valid-is-not-working-in-rails-2-2-2/154522/4 "2008-12-01T11:26:47Z")

</div>

On Mon, Dec 1, 2008 at 1:56 AM, Vipin Vm  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)wrote:

> 

Hey Vipin, are you using the same application code for both Rails 2.0.2  
and  
2.2.2  
execution of your tests. If so, did you update the configuration files  
when  
executing your application code against Rails 2.2.2?

-Conrad

---

<div class="post-metadata">

**Author:** ![vmvipin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/c0e974/32.png) [@vmvipin](https://www.ruby-forum.com/u/vmvipin)\
**Post date:** [December 1, 2008, 6:31pm UTC](https://www.ruby-forum.com/t/valid-is-not-working-in-rails-2-2-2/154522/5 "2008-12-01T18:31:46Z")

</div>

It just seems like there are too many conditions being tossed at the  
validation method from wherever you are setting up those variables.

---

<div class="post-metadata">

**Author:** ![vmvipin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/c0e974/32.png) [@vmvipin](https://www.ruby-forum.com/u/vmvipin)\
**Post date:** [December 2, 2008, 5:57am UTC](https://www.ruby-forum.com/t/valid-is-not-working-in-rails-2-2-2/154522/6 "2008-12-02T05:57:28Z")

</div>

Hi guys…

First of all Sorry … ☹ . i had a plugin called gloc-1.1.0 in my  
vender/plugin. That was causing the problem.

Thanks guys,  
Vipin

---

<div class="post-metadata">

**Author:** ![vmvipin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/c0e974/32.png) [@vmvipin](https://www.ruby-forum.com/u/vmvipin)\
**Post date:** [December 2, 2008, 6:03am UTC](https://www.ruby-forum.com/t/valid-is-not-working-in-rails-2-2-2/154522/7 "2008-12-02T06:03:28Z")

</div>

Glad to hear that it was cleared up.

---

<div class="post-metadata">

**Author:** ![vmvipin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/c0e974/32.png) [@vmvipin](https://www.ruby-forum.com/u/vmvipin)\
**Post date:** [December 2, 2008, 5:45am UTC](https://www.ruby-forum.com/t/valid-is-not-working-in-rails-2-2-2/154522/8 "2008-12-02T05:45:19Z")

</div>

Hi All,

My project was started in 1.2.6 then i upgraded to 2.0.2. Last week i  
updated it into 2.2.2. Then i got this problem. Then i again moved it  
back to 2.0.2 and it worked fine. These are the changes i have made in  
my config files.

in env.rb :-  
RAILS\_GEM\_VERSION = ‘2.2.2’ unless defined? RAILS\_GEM\_VERSION  
config.time\_zone = ‘UTC’  
config.threadsafe!

database.yml:-  
pool: 10  
wait\_timeout: 10

when i upgraded to 2.2.2, got a new file called new\_rails\_defaults.rb in  
initializers folder.

I created a new project in 2.2.2 and connected to my original db. its  
also working fine.
