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
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"
....