0

I'm unable to set an attribute in the callback of a Net::HTTP GET request.

Why is this happening?

def validate(params)

... net http setup ...
res = Net::HTTP.get_response(URI(path))
        print res.body
        print res.code << prints 200
        if res.code == 404
            puts "404"
        elsif res.code == 200
            user.validated = Time.now
            user.save
            valid = Time.now
            puts "user.validated: #{user.validated}" << this does not 
        end
 puts user.validated # prints nil
quantumpotato
  • 9,637
  • 14
  • 70
  • 146

1 Answers1

1

Because the result of res.code is a string ("200" or "404"), not a number.

your code should be:

....
if res.code == "404"
   puts "404"
elsif res.code == "200"
....
pangpang
  • 8,581
  • 11
  • 60
  • 96