Weirdness with validates_presence_of


I have a call to validates_presence_of in my model and it is behaving

my first stab when this happened during testing was

validates_presence_of :impact, :ease_to_implement if { |record|
!record.cost_estimate.nil? }

I have three values in my model that I care about with this one.
what I’m trying to get to happen is
if one is there they all must be there. (there are a couple more of
validates_presence_of with the orders swapped around)

but this executes the validation every time regardless of if there is
any of
these set.

From here I tried some other things… The most basic that I tried was

validates_presence_of :impact if{ false }
and also
validates_presence_of :impact if{ true }

and the validation still happened in my test. (also in the console)

What is going on??

Windoze XP
ruby 1.8.4
rails 1.1.2

Sorry to post a reply to my own post.

A bit simple really.

the if should be an argument to the method ie. v_p_o :impact, :if =>{ some thing } instead of v_p_o :impact if …

Hi Daniel,

Daniel N wrote:

Sorry to post a reply to my own post.

No need to apologize for what is, in fact, the preferred behavior. If
everyone did this it would be a lot easier for folks to use the archives
find answers to their problems which, in turn, would increase bandwidth
the list to address new problems. Good on you, bud.

Best regards,