Validates presence

Hi everyone,

I just need a quick help :slight_smile:

What is the best way to write some code in :presence option?

I have a Question model and one of the fields is question_type:

  • example question
  • static question

Each question has alternatives, and each of them has scores

What I want is to validate the presence of :score, but when its only
on the static question.
I dont want to validate the presence of the score in examples

validates :score, :presence => {:if => ??? }

What should I do?

Thanks

Javier Q

Well I found the code here:

http://stackoverflow.com/questions/1673812/rails-validation-for-users-email-only-want-it-to-validate-when-a-user-signs-up

validates :score, :presence => true, :if => Proc.new{ (some code
here) }

On Wed, Dec 14, 2011 at 12:41 AM, JavierQQ [email protected] wrote:

Well I found the code here:

http://stackoverflow.com/questions/1673812/rails-validation-for-users-email-only-want-it-to-validate-when-a-user-signs-up

validates :score, :presence => true, :if => Proc.new{ (some code
here) }

while this may work in your case, you should remember the following (a
shameless copy
and paste from the api)

Finally, the options :if, :unless, :on, :allow_blank and :allow_nil can
be
given to one specific validator, as a hash:

validates :password, :presence => { :if => :password_required? },
:confirmation => true

Or to all at the same time:

validates :password, :presence => true, :confirmation => true, :if =>
:password_required?

one more thing. I find it cleaner to do what you need like this

validates :score, :presence => {:if => :static?}

def static?
#code here
end

def example?
#code here
end

Cheers!


You received this message because you are subscribed to the Google G.
“Ruby on Rails: Talk” group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.

On Tue, Dec 13, 2011 at 8:16 PM, Jim Ruther N. [email protected]
wrote:

Or to all at the same time:
end

def example?
#code here
end

Cheers!

Thank! that’s what I found on api, but I wasnt sure if it was the best
way
of doing that (and by that I mean the easier way to do that “filter”)

I’ll try what you mention because I wasn’t sure enough
what":password_required?" mean ( I tought it was a sort of helper… :slight_smile:
)

Javier Q

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs