validate_presence_of :user or :user_id?

Hi all

I'm a bit confused whether it's better to check for the ID of a related
object or the related object itself?

validates_presence_of :user # is this better?
validates_presence_of :user_id # or is this better?

What would you suggest? Thanks,

validates_presence_of :user_id
will test if there is a value for self.user_id regardless of whether
there is a valid user with that id on the database.

If you're going to use :user_id then you should include
validates_associated :user to check the user is valid

validates_presence_of :user will check that the associated user is a
valid record.

validates_presence_of :user_id only tests that there is a value for

with this method, user_id could be any integer, not necessarily a
valid user.

validates_presence_of :user will also check that the user is a valid
record on the database.

That clear it up?