validates_presence_of :relation_id & validates_associated :relation together

I'm trying to make sure that my foreign key exist and it's a valid one. Can I somehow use both : validates_presence_of :relation_id & validates_associated :relation ?

My model looks like following :

Pratik wrote:

I'm trying to make sure that my foreign key exist and it's a valid one. Can I somehow use both : validates_presence_of :relation_id & validates_associated :relation ?

My model looks like following :

class Product < ActiveRecord::Base   belongs_to :category   validates_presence_of :category_id   validates_associated :category

  attr_protected :category_id

  def validate     #errors.add(:category_id, "is invalid") unless Category.exists?(category_id)   end end

validates_presence_of :relation_id fails when the @relation is a new ( and valid ) object.

In short, I want the following test to pass :

def test_new_product     p = Product.new products(:cream).attributes     c = Category.new :name => "Facial"

    assert c.valid?     p.category = c     assert p.valid?

    p.category = nil     assert !p.valid? end

You want

   validates_presence_of :category    validates_associated :category