Comprobador de enlaces en rieles
Frecuentes
Visto 186 veces
0
Tengo lo siguiente almacenado en una tarea de rake. Básicamente, necesito que actualice el atributo "publicado" a 0 desde 1 si el código de respuesta de la URL no es 200. Cuando ejecuto esta toma, obtengo: undefined method 'request_uri' for #<URI::Generic:0x00000102136408 URL:url>
desc "Problem products"
task :update_broken_links => :environment do
require 'net/http'
Product.find(:all, :conditions =>["published = ? AND feed_id = ?", '1', 820]).each do |product|
url = product.url
uri = URI('url')
response = Net::HTTP.get_response(uri)
x = response.code.to_i
if x != 200
published = '0'
else
published = product.published
end
product.update_attribute(:publsihed, publsihed)
end
end
1 Respuestas
0
Donde tienes uri = URI('url')
necesitas cambiarlo a uri = URI(url)
. Su código actual está tratando de convertir la cadena 'uri'
en un URI en lugar de utilizar el contenido de la uri
variable.
También se encontrará con un problema cerca del final en product.update_attribute(:publsihed, publsihed)
una vez que llegues allí. Tienes un error tipográfico: 'publicado' en lugar de 'publicado'.
Respondido el 12 de junio de 12 a las 22:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 net-http or haz tu propia pregunta.