I have a relationship in my ActiveRecord based model that looks like:
belongs_to :foo
My model should always have foo defined in it for it to be valid. My question is, when using validates_presence of, which one is the appropriate one to use:
validates_presence_of :foo
or
validates_presence_of :foo_id
Assuming here of course, that foo_id is the appropriate foreign key, which it is by default if you do not change the association key.
The first one:
validates_presence_of :foo(though I think the second one will work too). In general the Ruby validation helpers work on model names as opposed to explicit column names. You can use this in addition tovalidates_associatedto both validate the state of the associated entity in addition to its presence.