# How to validate with validates\_associated

**URL:** <https://www.ruby-forum.com/t/how-to-validate-with-validates-associated/171804>\
**Category:** Rails\
**Created:** [July 9, 2009, 2:19pm UTC](https://www.ruby-forum.com/t/how-to-validate-with-validates-associated/171804 "2009-07-09T14:19:13Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![dharshannew](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5fc32e/32.png) [@dharshannew](https://www.ruby-forum.com/u/dharshannew)\
**Post date:** [July 9, 2009, 2:19pm UTC](https://www.ruby-forum.com/t/how-to-validate-with-validates-associated/171804/1 "2009-07-09T14:19:13Z")

</div>

Hi , i am facing strange problem i want to validate two models through  
validates\_associated,

class Cpanel::Banner \< ActiveRecord::Base

has\_one :bannerimage  
validates\_associated :bannerimage  
validates\_presence\_of :title  
validates\_uniqueness\_of :title  
end

class Cpanel::Bannerimage \< ActiveRecord::Base

belongs\_to :banner

has\_attachment :content\_type =\> :image,  
:storage =\> :file\_system,  
:max\_size =\> 10.megabytes,  
:min\_size=\>250.bytes,  
:resize\_to =\> ‘320x200\>’,  
:processor =\> ‘MiniMagick’

validates\_as\_attachment  
end

Here are two models , i am not getting only banner model validation but  
not for bannerimage model .

Thanks .

---

<div class="post-metadata">

**Author:** ![dharshannew](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5fc32e/32.png) [@dharshannew](https://www.ruby-forum.com/u/dharshannew)\
**Post date:** [July 9, 2009, 2:37pm UTC](https://www.ruby-forum.com/t/how-to-validate-with-validates-associated/171804/2 "2009-07-09T14:37:22Z")

</div>

Ok ! this should work !

But if not go for

In your banner model !

def validate  
errors.add\_to\_base “Where is file!” if  
Bannerimage.find(self.id).blank?  
end

Otherwise use Activerecord callbacks !

Glad to help !

---

<div class="post-metadata">

**Author:** ![dharshannew](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5fc32e/32.png) [@dharshannew](https://www.ruby-forum.com/u/dharshannew)\
**Post date:** [July 9, 2009, 2:39pm UTC](https://www.ruby-forum.com/t/how-to-validate-with-validates-associated/171804/3 "2009-07-09T14:39:53Z")

</div>

def validate  
errors.add\_to\_base “Where is file!” if  
Bannerimage.find(self.id).blank?  
end

This is always true though i am attaching file ! I think i should use  
call back or  
proper use of validates\_associated…

Please help !

Thanks !

---

<div class="post-metadata">

**Author:** ![dharshannew](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5fc32e/32.png) [@dharshannew](https://www.ruby-forum.com/u/dharshannew)\
**Post date:** [July 9, 2009, 3:02pm UTC](https://www.ruby-forum.com/t/how-to-validate-with-validates-associated/171804/4 "2009-07-09T15:02:31Z")

</div>

Is any one have idea !

---

<div class="post-metadata">

**Author:** ![dharshannew](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5fc32e/32.png) [@dharshannew](https://www.ruby-forum.com/u/dharshannew)\
**Post date:** [July 9, 2009, 3:53pm UTC](https://www.ruby-forum.com/t/how-to-validate-with-validates-associated/171804/5 "2009-07-09T15:53:34Z")

</div>

Am 09.07.2009 um 15:41 schrieb Ruby on Rails:

> …

Please refrain from bumping so often, at the very best, it will annoy  
people who would be willing to help you…

Felix

---

<div class="post-metadata">

**Author:** ![dharshannew](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5fc32e/32.png) [@dharshannew](https://www.ruby-forum.com/u/dharshannew)\
**Post date:** [July 10, 2009, 5:59am UTC](https://www.ruby-forum.com/t/how-to-validate-with-validates-associated/171804/6 "2009-07-10T05:59:42Z")

</div>

Sorry , for that but i am seeking for help regarding  
validates\_associated  
!

---

<div class="post-metadata">

**Author:** ![dharshannew](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5fc32e/32.png) [@dharshannew](https://www.ruby-forum.com/u/dharshannew)\
**Post date:** [July 10, 2009, 6:55am UTC](https://www.ruby-forum.com/t/how-to-validate-with-validates-associated/171804/7 "2009-07-10T06:55:53Z")

</div>

I haven’t used validates\_associated before, but if you read the  
documentation ([api.rubyonrails.org](http://api.rubyonrails.org)), it says the following:

NOTE: This validation will not fail if the association hasn‘t been  
assigned. If you want to ensure that the association is both present  
and guaranteed to be valid, you also need to use  
validates\_presence\_of.

Are you sure a bannerimage has been assigned to your banner object?

On Jul 9, 8:59 pm, Ruby on Rails [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![dharshannew](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5fc32e/32.png) [@dharshannew](https://www.ruby-forum.com/u/dharshannew)\
**Post date:** [July 10, 2009, 10:07am UTC](https://www.ruby-forum.com/t/how-to-validate-with-validates-associated/171804/8 "2009-07-10T10:07:56Z")

</div>

Thanks ,

I have banner\_id in bannerimage table .

---

<div class="post-metadata">

**Author:** ![dharshannew](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5fc32e/32.png) [@dharshannew](https://www.ruby-forum.com/u/dharshannew)\
**Post date:** [July 11, 2009, 3:33am UTC](https://www.ruby-forum.com/t/how-to-validate-with-validates-associated/171804/9 "2009-07-11T03:33:34Z")

</div>

It would help if you would show test code which demonstrates the failing  
validation.
