Folks,
I need some help to understand some strange behaviour when using
validates_presence_of
I have a form that updates table row. One field is text and I require it
to be completed.
With no validation in place in the model I can obvioulsy update the row
and either put a text entry in or leave it blank and the update happens
okay.
After adding validate_presence_of :activity to the model …
I then update with the text item completed and it updates okay.
but if I then update with the text item null I get what appears to be a
totally unrelated error:-
“Called id for nil, which would mistakenly be 4 – if you really wanted
the id of nil, use object_id” and which points to the code line:-
Of course what I would expect is to get an “Activity must be completed”
error.
So when I would expect validate_presence_of to trigger a real validation
error it in fact throws up this other condition.
I suspect the actual error may be unrelated to validate_presence_of but
that the validate routine is merely exposing some other underlying issue
and without the validation in place it all works okay and I dont have
any issues or errors shown!
Confused since the validate_presence_of should be so simple and yet it
throws up this other condition.
Can anyone give me a steer as to what/where I should be investigating
this.
Any help much appreciated!