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开发者_如何学Go, 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 to validates_associated
to both validate the state of the associated entity in addition to its presence.
You may want to consider validates_associated
This will make sure that the association is valid.
I use validates_presence_of :foo_id
. It works.
精彩评论